Сохранен 82
https://2ch.hk/b/res/182499492.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 04/09/18 Втр 11:00:42 #1 №182499492 
15359203008440.png
Тред тупых вопросов по программированию


1. Работодатели часто в требованиях указывают "Знание C++", "Знание C#" и т.д.
А с какого момента вообще можно сказать что человек знает тот или иной язык?
Когда он выучил все его команды? Это вообще возможно?
Когда он знает весь синтаксис, те или иные основы языка (как функции создавать и вызывать, типы данных, методы и прочее)? чему можно научиться буквально за неделю-две

2. Чем фреймворк отличается от библиотеки и что такое api? Только пожалуйста по человечески, а не пасту с википедии

3. Реально ли выучить ЯП, и фреймворк к нему без знания английского? Книги и статьи в основном все на английском

4. Как называется технология, когда берут фактически браузер (или движок от него) и на нём пилят GUI?

5. Писать что-то лучше так как описано в п4, или классическими gtk, qt delphi?

6. П 4 и 5 подразумевают знание каких фреймворков? И можно ли будет потом использовать эти знания в реальном производстве какого-то сайта?
Аноним 04/09/18 Втр 11:01:43 #2 №182499536 
15359146584211.jpg
Бамп
Аноним 04/09/18 Втр 11:02:12 #3 №182499557 
15359225377333.jpg
Бамп
Аноним 04/09/18 Втр 11:02:39 #4 №182499570 
15359204711300.png
Бамп
Аноним 04/09/18 Втр 11:03:54 #5 №182499623 
15359579959490.jpg
Аноним 04/09/18 Втр 11:08:21 #6 №182499755 
Бамп
Аноним 04/09/18 Втр 11:08:48 #7 №182499772 
1535877502344-1.jpg
Бамп
Аноним 04/09/18 Втр 11:09:57 #8 №182499809 
snap12934.jpg
Бамп
Аноним 04/09/18 Втр 11:10:29 #9 №182499830 
Бамп
Аноним 04/09/18 Втр 11:10:55 #10 №182499845 
15359225377162.gif
Бамп
Аноним 04/09/18 Втр 11:11:28 #11 №182499869 
20180901191525.JPG
Бамп
Аноним 04/09/18 Втр 11:11:43 #12 №182499878 
>>182499492 (OP)
1) С того момента, как твой пиздеж понравился HRщице/менеджеру, проводящему собеседование
2) Мне лень
3) Реально. Но ты сам себе усложнишь жизнь и установишь потолок в виде руснявых кампаний.
456) Спасибо аллаху, я не фронтэндер.
Аноним 04/09/18 Втр 11:11:51 #13 №182499884 
Бамп
Аноним 04/09/18 Втр 11:12:31 #14 №182499905 
15358919012760.jpg
Бамп
Аноним 04/09/18 Втр 11:13:12 #15 №182499929 
2.jpg
Бамп
Аноним 04/09/18 Втр 11:13:47 #16 №182499943 
бамп адеквату
Аноним 04/09/18 Втр 11:13:48 #17 №182499945 
15359595383551.jpg
Бамп
Аноним 04/09/18 Втр 11:15:06 #18 №182499985 
15358250450682.jpg
It is get
Аноним 04/09/18 Втр 11:15:31 #19 №182500003 
Bump
Аноним 04/09/18 Втр 11:16:02 #20 №182500021 
>>182500000
>>182499999

Аноним 04/09/18 Втр 11:17:00 #21 №182500057 
15359235932550.png
Bump
Аноним 04/09/18 Втр 11:18:33 #22 №182500099 
>>182499492 (OP)

ОП-хуй, привет, я гуманитарий-кун, сам учу языки python и C++ и дрочу на алгоритмы. Паралельно два раза в неделю занимаюсь математикой, вспоминаю все, что успел забыть.

Выписываю интересные темы, вот например, я вообще смутно понимаю различия компилятора и интерпритатора, но очень хочу узнать. Вообще, я смотрел видос, где какой-то чувак рассказывал о том, что внутри компилятора происходит и это очень любопытно и интересрно.

Я все это к чему говорю? Да просто хвастаюсь-выебываюсь, лол.

Ты для себя учишь или хочешь начатьзарабатывтаь кодингом?
Аноним 04/09/18 Втр 11:19:38 #23 №182500132 
>>182499492 (OP)
1 синтаксис даже макака может выучить
2 пиздец тупой
3 нет
4 dwa
5 ебать старпер
6 ебать дибил, никто на голом языке ничего не пишет, кроме хелло ворда
Аноним 04/09/18 Втр 11:20:35 #24 №182500171 
>>182500099
>Да просто хвастаюсь-выебываюсь
Чем?
Аноним 04/09/18 Втр 11:21:44 #25 №182500211 
Бамп
Аноним 04/09/18 Втр 11:22:33 #26 №182500234 
>>182500132
> 6 ебать дибил, никто на голом языке ничего не пишет, кроме хелло ворда
Тогда нахуй их такое огромное многообразие?
Аноним 04/09/18 Втр 11:23:23 #27 №182500266 
>>182500171

Ничем на самом деле, мне и нечем, я только-только за ООП взялся. Просто вокруг совсем не с кем об этом поговорить, а занятие очень интересное.
Аноним 04/09/18 Втр 11:24:01 #28 №182500280 
Знание языка - это, условно, знание синтаксиса, методологии, основных паттернов. Знание языка не равно знанию программирования. Предполагается, что когда ты умеешь программировать, ты можешь это делать на любом языке - для этого тебе нужно лишь знать его.
Аноним 04/09/18 Втр 11:26:09 #29 №182500370 
>>182500234

Блин, если не кушать какашки, то основных языков, востребованных в разработке сейчас не больше десятка Кресты, Джава, СиШарп, ДжаваСкрипт, Питон, ПХП ну и Руби, допустим, остальное - либо учебные языки, либо узконаправленные всякие R и прочие, либо устаревшие Делфи, Паскаль.
Аноним 04/09/18 Втр 11:26:20 #30 №182500375 
>>182499492 (OP)
1 с какого момента можно говорить, что ты выучил английский? Ну примерно когда ты можешь сформулировать средний текст и вести беседу без запинок
2 фреймворк можно рассматривать как множество библиотек, в совокупности накладывающихся на твою программы ограничения и требования. Qt это фреймворк
Апи это внешняя сторона какого-либо программного модуля. Например, чтобы браузер получил самок тредов у двача, он должен направить такой-то запрос и получить ответ в заранее установленном виде. Набор таких правил образует собой апи двача.
3 практически нет, будешь вечер отстаивать во всём
456 хз о чем ты
Аноним 04/09/18 Втр 11:27:07 #31 №182500412 
>>182500280

А знание программирования - это знание алгоритмов, ООП, методов разработки, т.е. всякие теоретические штуки?
Аноним 04/09/18 Втр 11:28:47 #32 №182500466 
>>182500266
Можешь поговорить со мной.
Шучу, нахуй ты сдался кому.
Аноним 04/09/18 Втр 11:30:24 #33 №182500517 
>>182500466

>нахуй ты сдался кому

Себе. Себе я точно сдался. А остальные, в общем, не так уж важны, извини.

Все равно спасибо. Пока
Аноним 04/09/18 Втр 11:31:14 #34 №182500544 
>>182500132
> 1 синтаксис даже макака может выучить
Ты на вопрос ответь. Надо всё о языке знать, включая то как он с ассемблером взаимодействует и прочее?
sageАноним 04/09/18 Втр 11:33:10 #35 №182500600 
>>182499492 (OP)
>команды
Дрыстанул
Аноним 04/09/18 Втр 11:34:52 #36 №182500662 
>>182500544

Мне кажется, на уровне Джуна - нет. Да и знать это очень сложно. То есть, как ты, блять, узнаешь как Питон компилируется в Ассамблер или куда там, блять? Это ебать глубоко, и, наверное, нахуй не нужно, если ты сайты на Джанго хуяришь.
Аноним 04/09/18 Втр 11:35:27 #37 №182500691 
>>182500600
Жидко?
sageАноним 04/09/18 Втр 11:35:32 #38 №182500693 
>>182500370
>ПХП ну и Руби
Сёрнул
Аноним 04/09/18 Втр 11:36:54 #39 №182500739 
>>182500517
Далеко пойдешь.
Аноним 04/09/18 Втр 11:39:19 #40 №182500829 
>>182500693

Че?
Аноним 04/09/18 Втр 11:39:19 #41 №182500830 
>>182499492 (OP)
1. Как и знание обычного языка: синтаксис, конструкции, обработка исключений etc
Удачи выучить это за неделю-две (хотя, если ты знаешь какой-то один язык хорошо, то обычно не составляет труда понимать другой родственный язык (например, рубист искаробки поймет, что написано на пайтоне, а через месяц-два вкатывания сможет и писать на нем)

2. Фреймворк - набор костылей. Библиотека - один костыль. Фреймворк - основа, каркас. Библиотека - набор плюшек. Фреймворк обычно работает на многих уровнях - диспатчер, рендеринг, шаблонизаторы, дохуя всего. Библиотека - обычно на одном.
API - программный интерфейс. Собственно, способ взаимодействия одной программы с другой.

3. Реально, на русском материалов тоже дохуя.

Остальное хз
Аноним 04/09/18 Втр 11:41:28 #42 №182500923 
>>182499492 (OP)
1. Если хочешь подтвердить свои знания официально, то пройди официальную аккредитацию (например, https://www.microsoft.com/ru-ru/learning/exam-70-483.aspx). Есть градация специалистов по уровню знаний. Не знаю про команды языка C#, или что ты в этом понятие вкладываешь, возможно языковые конструкции? Да, надо знать все ключевые слова, операторы, структуры, и прочую возню. Еще хорошо бы понимать как это все работает и почему именно так, в чем разница версий и как работает компилятор. И тогда ты джун, поздравляю. Добавь к этому еще знание и умение использовать известные/популярные библиотеки и фреймворки.
2. Кратко: библиотека - то откуда ты можешь взять структуры/методы, фреймворк - окружение в котором ты пишешь кода, api - транспортный и структурный протокол для сообщения изолированных друг от друга программ.
3. Да, но очень сложно. Часто переводы книг не верно отражают суть оригинала, потому что переводили их студенты-гуманитарии. Официальные издательства специально пытаются отредактировать книгу так, что бы использовался единообразный язык (терминология). Первые книги со словарем, потом будет гораздо легче.
4. Хуита, но зато быстро и работает; рамка; вебанутый интерфейс.
5. Зависит от массы факторов: ресурсы, специалисты, цели, заказчик, ТЗ и т.п.
6. Разные, лучше гугли актуальные, раньше был Cardova. Все знания пригодятся, это называется технический кругозор.
Если лень много учить/писать/читать, то лучше сразу на корню заруби это, иначе останешься посредственным говнокодером.
Аноним 04/09/18 Втр 11:44:12 #43 №182501039 
vaganych.jpg
>>182500099
>я вообще смутно понимаю различия компилятора и интерпритатора, но очень хочу узнат

Компилятор компилирует, интерпретатор интерпретирует
Аноним 04/09/18 Втр 11:45:28 #44 №182501091 
Бамп
Аноним 04/09/18 Втр 11:45:44 #45 №182501101 
>>182501039

Спасибо, Евгений Ваганович, теперь мне все стало понятно!
Аноним 04/09/18 Втр 11:46:23 #46 №182501144 
1449210847155432089.jpg
>>182500923
>иначе останешься посредственным говнокодером
Аноним 04/09/18 Втр 12:09:14 #47 №182502000 
Бамп
Аноним 04/09/18 Втр 12:09:52 #48 №182502030 
Бамп
Аноним 04/09/18 Втр 12:10:31 #49 №182502050 
Бамп
Аноним 04/09/18 Втр 12:10:55 #50 №182502062 
Бамп
Аноним 04/09/18 Втр 12:11:24 #51 №182502077 
>>182500099
>я вообще смутно понимаю различия компилятора и интерпритатора, но очень хочу узнать
Ебать, чё сложного-то.

Процессор занимается тем, что выполняет команды, но команды не как в командной строке или то, что ты программируешь. А команды типа "перекинь данные из регистра такого-то вот в такой" или "запусти такое-то прерывание". Из этих команд формируются всё то, что можно написать на языках программирования.

Компилятор занимается тем, что анализирует весь твой код, проверяет, чтобы там не было невозможных операций и тогда уже компилирует в машинный код (набор этих самых команд), который будет понимать процессор. Получается программа, которая заставляет процессор делать ряд действий.

Интерпретатор занимается тем, что построчно читает твой код и переводит в машинный код (сразу на исполнение) либо в байт-код (виртуальный машинный код для виртуального процессора).
Аноним 04/09/18 Втр 12:13:44 #52 №182502170 
>>182499492 (OP)
>Когда он выучил все его команды?
Обосрался
Аноним 04/09/18 Втр 12:13:49 #53 №182502171 
Бамп
Аноним 04/09/18 Втр 12:14:08 #54 №182502181 
Бамп
Аноним 04/09/18 Втр 12:14:40 #55 №182502193 
Бамп
Аноним 04/09/18 Втр 12:14:59 #56 №182502203 
Бамп
Аноним 04/09/18 Втр 12:15:17 #57 №182502215 
Бамп
Аноним 04/09/18 Втр 12:16:14 #58 №182502251 
Бамп
Аноним 04/09/18 Втр 12:16:50 #59 №182502273 
>>182500099
Алсо да, машинный код для процессора выглядит как поток двоичных чисел (команд). Под каждым числом закодировано конкретное действие (сложение, вычитание, прерывание, перемещение, сдвиг).
Ассемблер достаточно близок к машинному коду, но местами всё ещё более высокоуровневый.
Аноним 04/09/18 Втр 12:17:56 #60 №182502310 
>>182502077

То есть, компилятор как бы переписывает программу, делает ее, условно, машинную копию, и только после того как она будет закончена, все команды отправляются в процессор?
Получается, что, если у меня есть ошибка, то компилятор просто нескомпилирует файл, а покажет место, где возникла ошибка?

А интерпретатор тогда - программа, которая переводит как переводчик в живую, прямо в ухо, условно, сразу же передает команды, что означает, что команды могут выполняться до момента, когда там допущена ошибка.

И, наверное, компилятор медленнее и объемнее,а интерпретатор быстрее, но в случае непредвидиной ошибки он покарает тебя сбоем программы?
Аноним 04/09/18 Втр 12:20:16 #61 №182502406 
>>182502273

Я примерно представляю, как выглядит машинный код, в лекциях на ютубе этого касались. И, в том числе, того, что обычно он кодируется 16 систему счиления, и типа молодцы, которые на низком уровне ебут систему в рот, работают именно с ней.
Аноним 04/09/18 Втр 12:20:52 #62 №182502429 
>>182499492 (OP)
1. Нахуй таких, они не шарят, скорее всего ищут эникея
2. Фреймворк - набор библиотек, связанных между собой и API для используещего. Библиотека - набор вспомогательных классов/объектов/функций. API - функции/классы/объекты для управления чем-то, например библиотекой или фреймворком.
3. Вряд ли, сам английский не изучал, но потратил много времени в гугл транслейте. Русского будет достаточно для изучения основ. Дальше перевод шакалится и ничего непонятно.
4. Электрон. Говно ебаное, выжирает минимум пару гигабайт ОЗУ для хуйни. Не твой бро.
5. Пиши на классике. Мой выбор qt - работает на винде, линуксе, маке, микроконтроллерах, небе, аллахе. VLC плеер например на нем сделан.
6. п.4 и п.5 и есть фреймворки. Можно применить, но для узкого класса задач. Сайты обычно пишут полностью java(бекэнд и фронтэнд, для фронта используют например GWT/Vaadin/JSF)
Аноним 04/09/18 Втр 12:23:18 #63 №182502524 
>>182502310
>компилятор медленнее и объемнее
Компилирует - да. Полученный в итоге код чаще всего работает быстрее.
>непредвидиной ошибки он покарает тебя сбоем программы
Компилированная программа тебя тоже может покарать. Компилятор проверяет, что то, что ты ему скормил он может скомпилировать.
Аноним 04/09/18 Втр 12:28:25 #64 №182502755 
>>182502524

Спасибо, анон, теперь понятнее. Дальше, думаю, уже доразберусь.


Аноним 04/09/18 Втр 12:30:29 #65 №182502836 
>>182502755
Он тебя наебал на 20%. В java например есть и компилятор, и интерпретатор.
Аноним 04/09/18 Втр 12:32:47 #66 №182502950 
>>182500829
На Руби три с половиной сайта написаны. И единственный фреймворк
Аноним 04/09/18 Втр 12:33:31 #67 №182502983 
>>182502836

Ну, мне кажется, это уже тонкости, которые можно понять, разобравшись глубже. Наверняка есть дохуя статей про это, или даже книг каких-нибудь. Пока разберусь на уровне "я примерно представляю, что это за хуйня". Если будет нужно в процессе (решу написать свой ЯП для детей/людей с пороками развития/еще каких-нибудь людей, которым нужно загружать мозг что бы он восстанавливался, например) и буду уже глубоко вникать в тему.
Аноним 04/09/18 Втр 12:34:21 #68 №182503021 
>>182502950

Он потому и последний. Сколько сайтов написано на LISPе? А на дельфе?
Аноним 04/09/18 Втр 12:35:52 #69 №182503087 
>>182499536
Опа, индус
Аноним 04/09/18 Втр 12:39:25 #70 №182503248 
>>182503021
>LISPе? А на дельфе?
Ну эти языки в принципе не пригодны для веба, они создавались для других задач. А рубин изначально спроектирован чтобы на нем делать сайты. Но получилось что получилось
Аноним 04/09/18 Втр 12:40:38 #71 №182503309 
>>182502983
Я дам тебе tl;dr
Компилятор трансформирует твой код из А в Б
Интерпретатор исполняет какой-то код.(превращает Б в машинный код). То происходит сразу после запуска проги.
Например в php/js есть только интерпретатор. Он сразу исполняет код А в java исходник нужно превратить в байт-код(Б) и потом запускать.
В нативных языках(C/C++/Rust) компиляция сразу выдаёт машинный код.

У обоих подходов есть плюсы и минусы.
Аноним 04/09/18 Втр 12:43:17 #72 №182503425 
>>182503248
Гитлаб/гитхаб так-то успешный язык. И он не спроектирован для сайтов, то язык общего назначения.
Аноним 04/09/18 Втр 12:44:49 #73 №182503488 
Есть блядь сайты где есть курсы конкретно где учат выполнять нормальные тз, или хотя бы показывают какие библиотеки и фреймворки для этого нужны и в целом как ими пользоваться? А то все самоучители это просто рассказ о синтаксисе if else обычно.
Аноним 04/09/18 Втр 12:48:08 #74 №182503662 
>>182503488
1. Для ТЗ существуют стандарты ISO/ГОСТ
2. Придумываешь себе задачу, начинаешь ее решать, гуглишь '%pl_name% frameworks/libraries', читаешь описание и выбираешь подходящие для твой задачи фреймворки/либы. Ищешь документацию к либе.
Аноним 04/09/18 Втр 12:50:25 #75 №182503791 
>>182503662
В принципе я так и думал и делал когда-то пока не дропнул. Тогда другой вопрос - где можно откопать примеры кода с подробными комментариями?
Аноним 04/09/18 Втр 12:54:12 #76 №182503958 
>>182502310
Ну почти.
У тебя есть текстовый файл main.cpp который содержит список команд. Компилятор анализирует его, проверяет на ошибки, делает подготовку к компиляции (препроцессинг), т.е. убирает всё лишнее, где может, оптимизирует всё по максимуму. Далее непосредственно компилирует — превращает твой код в машинный код. На выходе ты получаешь исполняемый файл.
Тут конечно я упустил момент про то, что для разных операционок исполняемые файлы чутка разные, а если кодишь операционную систему, то файлы будут бинарные. Но это уже конкретные тонкости.
>Получается, что, если у меня есть ошибка, то компилятор просто нескомпилирует файл, а покажет место, где возникла ошибка?
Да, но не всегда. Смотря какого рода была допущена ошибка. Например ты написал калькулятор, и забыл добавить проверку, чтобы введёный символ имел только цифры и точки/запятые. Если захуярить туда букв, программа вылетит с ошибкой, либо зависнет. Такие ошибки офк компилятор не может выявить.

>А интерпретатор тогда - программа, которая переводит как переводчик в живую, прямо в ухо, условно, сразу же передает команды, что означает, что команды могут выполняться до момента, когда там допущена ошибка.
Грубо говоря да, но зависит от конкретного языка и среды разработки, которую ты используешь. Если брать скриптовые языки, то довольно часто, есть подсветка синтаксиса языка и грубые ошибки подсвечиваются в процессе написания.
Если брать Java, то этот язык хоть и не компилируемый в машинный код. Но по факту, твой код проверяется и компилируется в байт-код (у Java есть виртуальный процессор — JVM, для него байт-код это аналог машинного кода). А потом уже байт код исполняется на JVM.

>И, наверное, компилятор медленнее и объемнее,а интерпретатор быстрее, но в случае непредвидиной ошибки он покарает тебя сбоем программы?
Скомпилированные программы конечно же работают быстрее. Потому что твой код работает напрямую с процессором. Интерпретатор делает нечто похожее в реальном времени, это не может быть быстрее, тем более, скриптовые языки, часто используют не самые производительные конструкции. Писать на них удобно, а вот производительность страдает.
Языки с виртуальными машинами типа Java С# очевидно работают медленнее, потому что работа процессора эмулируется и код выполняется в эмуляторе есть ряд оптимизаций, типа частоиспользуемые куски кода компилируются в машинный код и работают чуть шустрее, но это не даёт такого существенного выигрыша.

Компилируемые языки как правило сложнее использовать в разработке, т.к. всё завязано на железе. Поэтому щас на всяких C++ пишут в основном софт или модули, которые должны быть ну очень быстрыми.
Аноним 04/09/18 Втр 13:10:56 #77 №182504641 
свежий-омо-е-ьный-пирог-с-пу-ьпой-и-мороженым-вишни-на-п-ит[...].jpg
>>182503958

Спасибо тебе, большого чая тебе и вкусной вкусняшки, если ты такое кушаешь.
Аноним 04/09/18 Втр 13:18:24 #78 №182505001 
>>182503958
> Если брать Java, то этот язык хоть и не компилируемый в машинный код
У тебя старые данные. Инженегры оракла нахуярились паленкой и теперь пилят конпелятор java в нативный код.Project Graal, Java-on-Java
Уже работает, прирост производительности в триллион раз.новый JIT конпелятор, написанный на java, фреймворк для создания своих ЯП
Аноним 04/09/18 Втр 13:45:15 #79 №182506277 
>>182500600
Инструкции
Аноним 04/09/18 Втр 13:48:12 #80 №182506380 
>>182505001
> Инженегры оракла
> ОупенДЖК
> JIT который и раньше был в жабе
Кто ебанулся, ты ебанулся.
Аноним 04/09/18 Втр 13:51:59 #81 №182506531 
bump
Аноним 04/09/18 Втр 14:22:09 #82 №182507866 
>>182506380
Нативоребенок, испугался что ли? Java теперь конприлируется в машинный код. JVM написана на самой java.
comments powered by Disqus

Отзывы и предложения