В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox).
Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная
В далеком-предалеком 2004 году, когда язык Python был чем-то необычным, немейнстримовым, вышла статья Пола Грэма, в которой он поделился своим эмпирическим наблюдением: программисты на Питоне, которых он знает, гораздо сообразительнее, чем Java-программисты.
В дальнейшем, Пол объяснил, что он не имел в виду, что Java-программисты тупые. Он просто подчеркнул, что люди, которые пишут на Питоне (малоизвестном тогда языке) — это гики, которые программируют ради удовольствия; это люди с широким кругозором, которые видят недостатки одних языков и достоинства других.
Тут важно подчеркнуть, что Java была распространенным языком, а Питон нет — в этом вся суть. На Питоне было не найти работу, на нем писали только потому, что он нравился как язык, как хобби.
Перенося эту ситуацию в сегодняшние реалии, можно было бы сказать, что среднестатистический программист на Rust или Elixir будет в среднем соображать лучше, чем средний "чистый" программист на Java или PHP.
Отсюда Пол Грэм делает два вывода-парадокса
Вывод Пола для бизнеса
Если компания выбирает для нового проекта относительно эзотерический язык, то те, кого она наймет, будут отличными программистами, ведь они проделали большую работу по изучению языка, и они сделали это для своего удовольствия. И им будет интересно работать.
Вывод Пола для программиста
Язык, который нужно выучить, чтобы получить хорошую интересную работу, это тот язык, который люди учат не только чтобы получить работу.
Еще парочка моих выводов
- Как говорится, нельзя просто так взять и вернуть 2004 год. Сейчас всё поменялось, стало несколько проще. Например, микросервисная архитектура позволяет использовать зоопарк языков и технологий, и тем самым привлекать замотивированных программистов на эзотерических языках, которые будут с удовольствием работать днями и даже ночами, радостно решая проблемы, которые будут вставать у них на пути
- Необязательно всё делить на черное и белое. Возможен и смешанный подход. Если проект уже написан на условной Джаве, и надо нанять именно джавистов, то на собеседовании обязательно стоит спросить, на каких языках человек еще писал. Если у него на гитхабе есть проекты или пулреквесты на языках, для которых не найти толком работу, то это ЖИРНЫЙ плюс
- Когда язык только-только выпускает стабильную версию, на нем пишут замотивированные профи. Но со временем из-за выросшей популярности туда повалит весь народ, и появится куча говнокода. Особенно интересно наблюдать за языком Go: язык с довольно низким порогом входа (синтаксис очень простой), при этом он стал очень популярным и высокооплачиваемым. Сейчас там, чувствую, сильно упадет среднее качество
Комментарии (217)
picul
30.03.2019 23:32+7Сейчас придут Rust-оманы и скажут, что они умнее плюсистов))
Singaporian
30.03.2019 23:50+2Раст — не знаю, но у меня перед глазами сейчас код ядра Линукса (Cи) и код стаи рыжих
псовиндусов из Intel (C++). И первое написано великолепно, а второе — какой-то ад адовский. Правило, кажется, работает.picul
31.03.2019 00:47+1А точно С++ более популярен, чем чистый C? Вроде по рейтингам разная инфа бывает.
KanuTaH
31.03.2019 00:58По мнению Гитхаба — да, C++ популярнее (C++ на 5 месте в рейтинге ЯП за 2018 год, C — на 9). Да и по моим личным ощущениям C++ популярнее.
Singaporian
31.03.2019 08:39Тоже самое. Визуально Си намного более редкий зверь. Даже если что-то гуглишь — все время спотыкаешься об С++.
Space__Elf
31.03.2019 14:45Смотря как считать, ведь, те кто знают C++, как правило, знают и C тоже.
staticmain
31.03.2019 17:09+7(Нет)
jahr
31.03.2019 21:54Все так говорят, и никто не рассказывает, что же это за тайное знание такое доступно истинным сишникам, многозначительно молчат вместо этого.) Я последний раз писал на Си году так в 2003, после — только на плюсах. И чего же я не знаю про Си, расскажите, мне правда очень интересно?
TheKnight
31.03.2019 22:10В голову пришло несколько вариантов:
1) Новый стандарты C не во всем совместимы с C++.
2) В С нет встроенного ООП, поэтому его придется эмулировать, если оно нужно.
3) Отличаются стандартные библиотеки и задействуемые фреймворки.
4) Из-за отличия в доступных языковых средствах отличается и образ мышления — это даже в книгах Страуструпа написано.
Увы, данные языки не входят в мой профессиональный список, поэтому я мог ошибиться в перечисленных фактах.jahr
31.03.2019 22:39+1Я и не говорил, что один и тот же язык.) Я говорил о том, что если среднему плюсовику потребуется написать проект на Си — он сядет и начнет его писать, особо отвественные погуглят сначала отличия в синтаксисе (и эти отличия будут меньше, чем отличия версий плюсов между собой). Т.е. можно считать, что что плюсовик знает и Си. А тем, кто с этим не согласен, хорошо бы как-то подтвердить свое мнение, его можно было считать в какой-то степени верным 15 лет назад, сейчас ситуация сильно поменялась.
DistortNeo
31.03.2019 22:14C не так прост, как кажется:
en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B
Ах да, ещё есть стандарт C11, куда добавили ещё больше функционала, несовместимого с C++.KanuTaH
31.03.2019 22:34C не так прост, как кажется:
en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B
Тут тоже далеко не все различия описаны :) Например, в C вот такое:
union U { int i; void *p; }; union U foo; foo.i = 100; void *bar = foo.p;
вполне валидная конструкция по букве стандарта C, будет выполнен так называемый type punning. В C++ же обращение не к тому элементу union, в который последним производилась запись — это undefined behaviour (но C++ компиляторы, как правило, «эмулируют» поведение C).
jahr
31.03.2019 22:54В том-то и дело, что Си от классического C++ отличается меньше, чем версии С++ друг от друга.)
На чтение статьи, на которую Вы сослались, уйдет полчаса, и вот он — человек, знающий С.) Сравните с попыткой написать проект на С питонистом или джавистом.)
staticmain
31.03.2019 22:35Я еще не видел плюсовика, который на си писал бы не в с++ стиле, а именно соблюдал бы все отличия С от С++:
1. Ставил бы .h в названии системных хэдеров
2. Называл файлы кода.с а файлы хэдеров .h (вообще 99% случаев)
3. помнил бы о размере пустой структуры
4. не пытался бы каждый раз писать приведение типов (это вообще выбешивает, особенно если там какая-нибудь `(struct projname_network_input_structure_ppp *)`.
5. Не пытался бы выдумать ООП на структурах.
Дальше во время попытки с++ написать что-то на чистых си всегда есть вой по поводу:
1) нет темплейтов
2) о боже, тут malloc а не new! что мне делать? Почему я не могу сделать p = realloc(p,...)?
3) А где исключения?
4) как тут объявить классы?
5) << и >> работают не как пайпы, ужос, как вывести на экран? Что значит printf работает до 10 раз быстрее? там же надо форматтеры руками писать!
6) RTTI?
7) А почему тут все в одном неймспейсе?
8) Почему я каждый раз должен писать struct для полей другой struct? (привет, Сбербанк!)
9) Почему я не могу перегрузить оператор + чтобы он кроме сложения еще варил мне кофе?
10) Как мне запихнуть методы в структуру? Хочу класс!
11) А где тут ссылки? Зачем мне указатель? Почему переменная не меняется когда я ее меняю в функции?
12) Где векторы? Где ? Почему половина моих функий undefined reference? (особенно смешно когда компилятор в с режиме цепляет включенный в начале файла с++ хэдер и все-таки компилирует код)
13) Почему нет значения по умолчанию в функции?
14) Почему я должен именовать переменную в функции если я ее не использую? Что это за костыль в виде `(void)aaa'?
15) Почему я опять могу вызвать main? (редко, но на встроенке бывает полезно)
16) А где bool? Почему вместо него __Bool, __bool, _Bool, bool_t и прочие?
17) Что значит я не могу писать type varname где угодно? Зачем мы используем такой старый стандарт? (привет, майкрософт!)
18) А как тут написать лямбды?
19) Почему в коде макросы? Нас учили что макросы это плохо!
Это только малая толика того, что спрашивает типичный с++ программист когда пишет на чистом С.
Поверьте, отличить плюсовика, который пытается писать на С от того, что специализируется на С очень просто по коду.
Плюс у сишников (обычно) намного больше знаний по внутреннему устройству процессоров, архитектур, ассемблера, стека, кучи и проч. Много вы знаете с++ программистов, которые делают g++ -s? Или которые знают размер стека? Или может кто-то из с++-программистов задумывается о том, в какой кэш уйдет его `std::vector<std::vector>'? Да даже тех, кто знает в какую объектную кашу превратятся его темплейты в бинаре очень и очень мало. С++ — это про абстракции, а не про быстродействие и работу с низким уровнем. Почему то каждый с++ программист считает что он автоматически знает с. Это не так.Siemargl
31.03.2019 22:54+2Простыня ни о чем. Все изучающие С++ начинают с С-основ.
И такие вопросы не возникают в принципе.
Но если писать надежный код на С++11/14, основы нужно напрочь отринуть.
Вот именно в этом сложностьstaticmain
31.03.2019 22:57Все изучающие С++ начинают с С-основ.
(Нет)
Почти все изучающие с++ начинают сразу с с++ абстракций а не основ работы. Тот же cout в hello world об этом прямо говорит.
Cfyz
31.03.2019 22:54По приведенному списку, такой программист и С++ тоже не знает. Или, скорее, вы просто очень неудачно изобразили сарказм, грань между абсурдом и откровенной глупостью очень легко перейти.
KanuTaH
31.03.2019 22:553. помнил бы о размере пустой структуры
Это же невалидная по стандарту (по крайней мере C99) штука, нет?
A structure type describes a sequentially allocated nonempty set of member objects…
staticmain
31.03.2019 23:03Только начиная с с99. Не все до сих пор его поддерживают. В автогенерированном коде всяких парсеров/обработчиков пустой struct встречается часто (потому что нет передачи данных в конкретной команде, например
). При этом sizeof(answer) может использоваться для сериализации\десериализации данных.struct network_command_spl_load_t { struct network_command_header_t header; struct network_command_spl_load_payload_t { uuid_t uuid; } payload; struct network_command_spl_load_answer_t { } answer; }
jahr
31.03.2019 22:56+1Как и предполагалось, С не знают плюсовики из фантазий.)
staticmain
31.03.2019 23:08Я собеседовал 8+ человек на должность «С-программист». Приходили в основном с++-программисты, полагая, что они знают С. Хотя бы 10 пунктов разницы между с++ и с назвали двое. Один ушел через месяц, потому что «с — это сложно, нет абстракций», второй работает до сих пор.
KanuTaH
31.03.2019 23:18Хахаха, а многие, наоборот, считают, что «C++ — это сложнА, потому что много абстракций, шаблоны на шаблоны, перегрузка операторов, вот это вот все».
jahr
31.03.2019 23:20А если бы Вы собеседовали на должность «С++-программист», уверен, Вы удивились бы количеству приходящих с++-программистов, которые не знают С++.) Такова жизнь.)
staticmain
31.03.2019 23:28-1Выше мне написали, что все с++ программисты знают си. Я доказал, что это не так. Знание с++ на 100% сегодня ни от кого не требуется.
DistortNeo
31.03.2019 23:34Если начать обучение сначала с C, а затем перейти на C++, то большей части этих проблем не будет. Единственная проблема — код поначалу будет выглядеть как "C с классами", но со временем это пройдёт.
А может и не пройти:
- Я всегда ставлю .h в названии хэдеров. То есть пишу "stdio.h" вместо "cstdio".
- Именую файлы ".h" и ".cpp", либо ".hpp" в случае header-only файла.
- Испытываю лютую неприязнь к std::cout и использованию операторов битового сдвига не по назначению, предпочитая printf. Да и в целом не люблю перегрузки операторов.
- Читаю и записываю файлы через FILE ("stdio.h") или нативные функции работы с файлами, но не через iostream.
- Ненавижу явное указание способа приведения типа (static_cast, reinterpret_cast, const_cast), предпочитая C-style cast, в первую очередь, из-за многословности.
- Не люблю неймспейсы в C++ — они сделаны очень неудобно, мне приятнее просто добавить к имени функции префикс.
Вообще, считаю, что начинать нужно с С, чтобы понять, как структуры данных и абстракции устроены на низком уровне, чтобы потом грамотно их использовать.
0xd34df00d
31.03.2019 23:42Читаю и записываю файлы через FILE ("stdio.h") или нативные функции работы с файлами, но не через iostream.
Почему?
Ненавижу явное указание способа приведения типа (static_cast, reinterpret_cast, const_cast), предпочитая C-style cast, в первую очередь, из-за многословности.
Особенно хорошо такое потом рефакторить, ага. Поменяли один из типов, и невинный static_cast превратился в reinterpret_cast.
И читать код для ревью хорошо, ведь так просто увидеть тот же reinterpret_cast или const_cast и понять, что на этот код надо обратить пристальное внимание.
Не люблю неймспейсы в C++ — они сделаны очень неудобно, мне приятнее просто добавить к имени функции префикс.
А что неудобно? Чем префикс лучше кроме того, что его надо набивать будет теперь всегда?
DistortNeo
01.04.2019 01:26Почему?
Дело привычки. К тому же, в других языках, которыми я пользуюсь (Pythlon, Matlab), используется fopen/fprintf — подобная семантика.
Особенно хорошо такое потом рефакторить, ага. Поменяли один из типов, и невинный static_cast превратился в reinterpret_cast.
В большинстве случаев всё очевидно. Например, в случае преобразования типа к float или int. Или преобразования результата выделения памяти (void*) к указателю конкретного типа.
А что неудобно? Чем префикс лучше кроме того, что его надо набивать будет теперь всегда?
Неудобно, что нет file scope using namespace.
0xd34df00d
01.04.2019 01:30В большинстве случаев всё очевидно.
Это в момент написания кода очевидно (в лучшем случае). Потом при чтении уже не так очевидно.
Например, в случае преобразования типа к float или int.
Эээ, а у вас там точно UB нет?
Или преобразования результата выделения памяти (void*) к указателю конкретного типа.
Чё-т мы всё глубже.
А зачем вам голый
malloc
?
Неудобно, что нет file scope using namespace.
А чем плохо в начале cpp-файла написать
using namespace Blah
?
У префиксов, кстати, тоже нет file scope using prefix. И других using тоже нет.
DistortNeo
01.04.2019 01:55Это в момент написания кода очевидно (в лучшем случае). Потом при чтении уже не так очевидно.
Неочевидно — это простыня из AVX-инстринсиков. Ассемблеро-подобная фигня, которую невозможно представить с помощью более высокоуровневых абстракций (оптимизатор нормально не переваривает). А вот каст инта к флоту вполне себе очевиден.
Эээ, а у вас там точно UB нет?
Где? В преобразовании float к int и обратно?
Чё-т мы всё глубже.
А зачем вам голый malloc?А кто сказал, что у меня голый malloc?
Может, у меня aligned_malloc или отображение файла в память?
А чем плохо в начале cpp-файла написать using namespace Blah?
Тем, что тогда хочется так писать и в начале h-файлов, а нельзя.
У префиксов, кстати, тоже нет file scope using prefix. И других using тоже нет.
Да, это проблема.
0xd34df00d
01.04.2019 02:04Неочевидно — это простыня из AVX-инстринсиков. Ассемблеро-подобная фигня, которую невозможно представить с помощью более высокоуровневых абстракций (оптимизатор нормально не переваривает). А вот каст инта к флоту вполне себе очевиден.
Я тоже пишу всякую ерунду, и поэтому мне лишний раз внимание распылять не хочется.
Где? В преобразовании float к int и обратно?
Ага. В C++ это UB (если, конечно, вы не только преобразуете туда-обратно, но и где-то в промежутке читаете этот объект или пишете в него).
Может, у меня aligned_malloc или отображение файла в память?
В обоих случаях их надо завернуть как можно быстрее в более типобезопасные обёртки.
Тем, что тогда хочется так писать и в начале h-файлов, а нельзя.
Будет в модулях.
DistortNeo
01.04.2019 02:24Ага. В C++ это UB (если, конечно, вы не только преобразуете туда-обратно, но и где-то в промежутке читаете этот объект или пишете в него).
Это не UB, а обычный static_cast. Я где-то писал про преобразование указателей, когда писал про преобразование float в int?
В обоих случаях их надо завернуть как можно быстрее в более типобезопасные обёртки.
Так это и есть обёртка, которая возвращает
void*
илиchar*
.
Пример: изображение из POD-пикселей, кусок нетипизированной памяти. Обращение к пикселю — вычисление адреса пикселя в памяти с последующим кастом к типу пикселя. Здесь c-style cast всегда будет reinterpret_cast-ом вне зависимости от типа пикселя. А ещё это, внезапно, не UB (если вы про алиасинг).
Antervis
01.04.2019 11:17Единственная проблема — код поначалу будет выглядеть как «C с классами», но со временем это пройдёт.
по своему опыту скажу, что это не проходит. Программисты так и остаются инвалидами, что в си, что в с++. Либо ты жестко разграничиваешь для себя эти языки, либо ты просто плохой с++ программист.DistortNeo
01.04.2019 12:16Нужно просто больше разнообразного опыта в течение хотя бы пары-тройки лет. За меньшее время C++ нормально не осилить.
degs
02.04.2019 17:17+1По секрету, когда-то С++ вообще не было, а С уже был. И многие из тех кого мы сейчас зовем С++ гуру, и/или создают новые С++ фичи начинали именно с С. У них же как-то прошло?
Antervis
02.04.2019 18:11И много их, этих гуру? Возможно, это конкретно мне так «повезло», но с++ программисты «сишной закалки», которые мне попадались, в основном пишут на си с классами и не особо рвутся изучать/использовать возможности современных плюсов.
0xd34df00d
31.03.2019 23:43Что значит printf работает до 10 раз быстрее? там же надо форматтеры руками писать!
А вы бенчмаркали?
Потому что я, например, бенчмаркал (правда, ifstream vs sscanf). ifstream оказался на десятки процентов быстрее.
Хотя, конечно, mmap + boost::string_ref + самописный парсер драл вообще всех.
trolley813
01.04.2019 09:239) Почему я не могу перегрузить оператор + чтобы он кроме сложения еще варил мне кофе?
Это боль скорее в Java, а не в чистом Си.
Antervis
01.04.2019 11:09различия между си с с++ в основном даже не языковые (разница сишного подмножества плюсов и си незначительна), у них кардинально различаются подходы к решению одних и тех же задач. Скажем, сравнительно хороший сишный код будет неуместен в с++ репозитории.
MaM
31.03.2019 03:00Ну не стоит уж так… Откройте к примеру код UE, вполне достойно) Я конечно не люблю холиваров, но тут же никто я думаю спорить не будет что у с++ впрочем как и у си вход покруче питона раз так в 10 минимум
Singaporian
31.03.2019 08:41+1Но ведь парадокс Пайтона не заключается в том, что на популярном языке только ужасы пишут. Само собой на всех языках есть достойно и опрятно написанный код и даже целые продукты.
McAaron
31.03.2019 14:15Насчет «Intel (C++)» вы имеете в виду что? Их компилятор c C++? Неплохой, кстати, в нише ia32(e). Индусы, скорее всего, в Микрософте студию пишут.
Singaporian
31.03.2019 14:28Не. Код Интела связанный с продуктом Facebook Terragraph. Я не уверен, что могу рассказывать подробности.
lain8dono
31.03.2019 05:26-1Звали? Не знаю на счёт "умнее" в целом, но порог вхождения в ржавчину таки выше, чем в кресты. При этом rust таки проще, но для того, чтоб писать код, требуется знать условно 80% всех фичей. В крестах можно знать 2-3% и уже что-то (относительно) полезное писать. Тяп-ляп и готово. С ржавчиной такое не пройдёт. Ржавчина будет бить тебя по рукам до тех пор, пока ты не научишься писать нормальный код. Грубо говоря И начинающий И средний программист на Rust умнее среднего любителя крестов. А хорошо знающих кресты я не встречал в дикой природе. Как минимум по той причине, что выучить кресты целиком не представляется возможным.
Я кстати знаю один универсальный способ сравнения уровня инженеров. Его научная ценность сравнима с таковым у парадокса из статьи. Общеизвестно, что все настоящие инженеры смотрят аниме. Даже пресловутый Илон Маск, и тот смотрит (см. твиттер). Вот количество просмотренного и является основным критерием. Это ветка холивара, подходите строго по одному!
tgz
31.03.2019 07:10-1Еще среди тех кто пишет на це/цпп много чсвешников вида «да я и так пишу без ошибок». В комьюнити раста все гораздо спокойнее и добрее. Это вообще свойственно людям, ктотрые сами расширяют свой кругозор.
lain8dono
31.03.2019 13:33В комьюнити раста все гораздо спокойнее и добрее.
Исключительно по той причине, что мы через одного растаманы и растафарианцы. Курнём мануалы, навернём макарошек с котлетками и пишем код.
vchslv13
31.03.2019 07:41Смотрю третий по счёту аниме-сериал в своей жизни — меня уже можно подпускать к коду или нужно ещё поднатореть в ловле панцу-шотов? (А западную мультипликацию можно зачесть хотя бы в соотношении 1 к 2 к аниме?) :)
Neikist
31.03.2019 12:01+1Почему то есть у меня подозрение что если бы я вместо 4.5к часов потраченных на аниме потратил на программирование — программистом бы я заметно лучшим был.
oracle_and_delphi
01.04.2019 07:18+1Падаван мой юный, ничем кроме работы если не заниматься и не отдыхать, выгорания и прокрастинации риск опасно вырастает.
0xd34df00d
01.04.2019 15:50Программирование не обязано быть работой (даже если на работе вы тоже программируете).
ganqqwerty
31.03.2019 13:00Это если вы один в проекте, то можно на крестах что-то полезное писать. Если проекту куча лет, то там будут и макросы, и триграммы, и лямбды c концептами, и полный диалог поколений. Плюсы — это единственный язык, в котором я после первых четырех лет работы продолжал штудировать книжки по языку.
sumanai
31.03.2019 13:28Вот количество просмотренного и является основным критерием. Это ветка холивара, подходите строго по одному!
У меня 700+ тайтлов, я сеньор?
vilgeforce
30.03.2019 23:44Все срочно ринутся учить Asm? ;-)
KanuTaH
31.03.2019 00:01По-хорошему, asm нужно учить всем, хотя бы какой-нибудь простенький (типа PDP-11) для лучшего понимания принципов того, как все внутри устроено. Это ИМХО абсолютный минимум. Если есть возможность и желание, то лучше потренироваться и на asm для более современных платформ, в которых есть такие вещи, как кеши, конвейеры, MP с соответствующими механизмами синхронизации, memory barriers, и так далее. Прочесть и понять вещи типа «what every programmer should know about memory», «the floating point guide», вот это вот все.
tyomitch
31.03.2019 10:13PDP-11 — это простенький?!
Лучше уж MIPS.KanuTaH
31.03.2019 10:51Ну не знаю. В PDP-11 практически все инструкции поддерживают все имеющиеся виды режимов адресации, в MIPS доступ к памяти — это load/store и только. В MIPS из-за его конвейерной сущности существует такая вещь как branch delay slot, о чем надо помнить. Из-за нее же есть еще всякие веселые вещи, типа как с регистрами HI/LO, требования «подождать две инструкции перед выполнением любой операции, меняющей HI/LO, после чтения из них, иначе в них будет мусор». Пофигу для компилятора, плохо для ручного написания кода.
northbear
31.03.2019 15:43ASM PDP-11 это образец логичности и простоты. После этого понимаешь какой кромешный ад asm 8088/80x86.
tyomitch
31.03.2019 20:1512 режимов адресации — это образец простоты?! Только если сравнивать с 8088/80x86.
В MIPS — четыре.Siemargl
31.03.2019 22:55Обычная, косвенная, инкремент/декремент. Факториал 3 это вроде всего 6.
northbear
31.03.2019 23:23Еще косвенная-косвенная и инкремент/декремент для косвенной косвенной… Это получается семь, а поскольку это задаётся для обоих операндов, то можно считать комбинации режимов. Тогда вообще сложность зашкаливает…
northbear
31.03.2019 23:20Для меня простота, когда ты можешь понять что делает программа просто читая восмеричный код. Для вас в количестве режимов адресации? Ну, окей, пусть так.
Jigglypuff
31.03.2019 16:21Я бы рекомендовал 6502 assembly (тот самый, который для NES).
Он не простой, он элементарный. Набор команд учится за час.
Если изучать его в связке с архитектурой NES (тоже крайне простой), то в качестве дополнения придет понимание многих концептов, которые в современных процессорах стали в сотни раз сложнее, но содержат ту же самую идею.
Ну и бонусом — возможность поковыряться в сорцах игр из детства :)
0xd34df00d
31.03.2019 23:18Но ведь асм не даёт доступа к конвейерам, микрокоду, MESI и прочим и так далее. Как-то, видимо, от понимания асма понимание, как же оно там внутри, не появится
Stepan555
30.03.2019 23:57Весьма спорная логическая цепочка. То, что она сработала для Питона, не означает, что это всеобщий закон жизни.
Не советую нанимать любителей эсперанто вместо сотрудников владеющих английским.wtpltd
31.03.2019 02:42+1Любители эсперанто достаточно мотивированны, чтобы выучить этот язык. Им нравится выучить язык и использовать его в общении с другими эсперантистами. У них есть опыт по изучению языков и мотивация.
Вполне вероятно, что они лучше и быстрее освоят необходимый уровень английского, китайского, русского или любого другого, чем Петя шпрехающий на вдолбленном в школе деревянном английском.Stepan555
31.03.2019 09:50Ваше умопостроение оторвано от реальности. Вы нанимали эсперантистов на работу?
Петя изучил английский по тому, что чётко понимал зачем он ему нужен. Он стремился стать полноценным специалистом и системно изучал то, что ему необходимо для работы.
Эсперантист Вася, витая в облаках, учил не то, что нужно, а что попало, что ему казалось интересным. Не задумываясь зачем он тратит время и как потом будет этим пользоваться.
Когда дойдёт дело до работы Петя будет разбираться в той технологии, которая нужна, чтобы решить задачу, а Вася будет скакать с фенечки на фенечку, которые ему интересны, а вас считать сатрапом, который душит его творческие порывы.igorp1024
31.03.2019 11:42+2Нужно на хабре ввести фичу: комментарий аргументированно опровергающий постинг. И Ваш комментарий как раз такой!
p.s. И как логическое завершение Вашего комментария: Вася позже просто уйдёт куда-то ещё, оставив работодателя с экзотическим легаси, которое либо будет переписано, либо работодатель будет долго и безуспешно искать очередного эсперантиста (а те будут крутить носом, т.к., то ЗП не устраивает, то ещё что-то).
ganqqwerty
31.03.2019 12:57Оооо, как же часто это происходило у меня в проектах! Приходишь, а там такие дивные звери…
freecoder_xx
01.04.2019 14:03Ну да, а вам же были нужны роботы. Или рабы. Причем такие, которые уже со школы учили английский/Java/PHP и прочее только для того, чтобы прийти к вам на работу и пилить ваш проект делая деньги вашим боссам за зарплатку. Вот он — идеальный работник. Но человек ли он?
ganqqwerty
01.04.2019 16:10Ну тут вы уже ключевое противоречие капитализма затрагиваете и все говорите правильно. Каждому боссу хочется, чтобы на каждую его вакансию выстраивалась очередь из супер-мотивированных, радеющих за бизнес, а не свою квалификацию исполнительных винтиков. Чем проще винтик заменить, тем приятнее работодателю. При этом радение за бизнес в идеале обеспечивать не солидной долей акций, а воззваниями к профессионализму и болтовней о миссии, чтобы доход владельца не был ничем не ограничен, а зарплату работника диктовал рынок.
AshikTC
31.03.2019 13:40Грубо говоря это пример на знание синтаксиса против алгоритмов и структуры.
Потому — нет, не оторвано.
Недавно в комментариях меня обвинили, что я не переводчик (которым я, конечно же, не являюсь) за моё утверждение, что буквальный перевод детских стишков — невозможен. Обвинитель, как раз окончила крутой иняз и работает по профессии. Я никогда специально не изучал английский, но регулярно перевожу (например документацию).
Но! Изучение иврита как раз помогло понять структуру и логику языков в целом. Плюс, специальная литература, например того же Эко.Bookvarenko
31.03.2019 14:16Иврит? А порядок изучения какой? Я таки интересуюсь, чего начинали и чем продолжали?
Singaporian
31.03.2019 14:42Распространенный стереотип. Знание иврита не даёт понимание структуры других языков. Хотя бы потому, что структура есть только у иврита и арабского. А у остальных языков невозможно разговаривать, если не знаешь слов — их не нагенерируешь на лету, как в иврите.
Space__Elf
31.03.2019 14:50у остальных языков невозможно разговаривать, если не знаешь слов — их не нагенерируешь на лету, как в иврите
А можно пример генерации слов? (уж очень это необычно)Singaporian
31.03.2019 15:45Так, это будет нелегко из-за очень большой разницы между языками.
Поэтому небольшая вводная перед примером. Буду использовать схожие кирилические буквы, чтобы было доступнее.
В иврите нет гласных. Например: «канал» --> «кнл».
Но, все же, есть гласные звуки, которые отмечаются согласными. Например, согласная «в» в середине слова становится «о» или «у».
Пример: корова --> кврвб («в» превращается в «б», чтобы не путали с «в» и не думали, что это звук «о»). Это привело к тому, что во многих языка Бабилон называют Вавилоном, а Бейтлехем — Вифлиемом.
Есть и много других правил по замене, но они не пригодятся для примера.
А, и еще один момент: «п» и «ф» — одна и та же буква (кстати, поэтому персы говорят на фарси, а палестинцы и фелистимляне — одно слово).
Итак, в иврите есть корни слов. Это не глагол, не существительно и не причастие. Просто корень, из которого конструируется любое слово этого смысла.
Итак, берем комбинацию «с», «п», «р»
добавляем спереди «л» — получаем инфинитив глагола. лспр (лесапэр — рассказывать). «Л» всегда значит инфинитив.
Удаляем «л» из глагола и добавляем «м». мспр — (месапэр — рассказываю)
дальше можно играться префиксами/суффиксами, как и в русском языке, получать прошлые, настоящие и будущие времена глаголов.
Можно также регулировать направление движения. Глагол «рассказать» для этого не очень удачный пример, но можно посмотреть на примере глагола «хзр». «в» в начале будет значить, что возвращается сам объект: хвзр (хозер — возвращаюсь), а если убрать «в» и вставить «й» во второй слог, то получилось «хазир» — возвращаю какой-то предмет.
Теперь посмотрим на существительные.
Добавляем «в» — получаем существительное. спвр (сепур — рассказ)
Двигаем «в» вперед — получаем новое существительное. свпр (софер — рассказчик, писатель).
Убираем все «в» и получаем еще существительное — сфр (сефер — книга)
Выкидываем предыдущие и добавляем «й» — это будет «сфрй» (сефрия — библиотека).
Все эти слова, по сути, можно не знать. Например, если есть желание сказать объединение сущностей, то лучше пойти по последнему варианту (сефрия), а если маленький предмет, то скорее всего угадаете, если уберете все гласные (сефер). Человек — лучше подставить «в» в первый слог. Результат глагола — во второй слог.
Ну, правда, на все на это есть исключения, но не думаю, что много.
Наверно плохо объсянил, но как умел))DaneSoul
31.03.2019 17:20Очень интересно!
Возникли вопросы по отсутствующим гласным.
1) А как угадать пропущенные гласные? Можно ли это сделать для слова, которое не знаешь (как в русском — смысла слова не понял, но произнести могу)?
2) Часто ли возникают коллизии, когда на письме одинаково, а прочитать можно с разными гласными и получить разный смысл?Singaporian
31.03.2019 17:50+21. Гласных по сути три э/а + и + о/у. Отсутствие подпорки согласной означает э/а. Подпорка «в» — о/у. Подпорка «й» — и.
Через дробь написал потому, что не важно как вы произнесете эту гласную. В иврите голобь, голубь, гулобь и гулубь прозвучат одинаково и никто не заметит разницы.
Единственное спорное место — отсутствие гласной вообще. Например «хбр» можно прочитать как «хабр», «хавар» или «хвар».
Вообще, в школьных учебниках есть, так называемые, огласовки. Они помогают точно определить звук. Взрослые делают это машинально и огласовки только сбивают с толку.
Огласовка выглядит как точки и черточки по краям букв (снизу, сверху, слева или внутри): ????? ???????
Это что-то из серии
2. Про коллизии — часто. Но это больше межкультурная разница.
Западные люди (все от Ванкувера до Хабаровска) очень щепетильно относятся к высоте регистра букв и звучанию гласных. В германской группе — еще и согласных. Также, как китайцы щепетильно относятся к тону. Даже если в русском языке «молоко» стало «малако», то все равно все одинаково его произносят. Произнесешь чуть иначе и вызовешь недоумение.
Израильтяне/арабы/персы не знают о существовании этих тонкостей. Им просто пофиг. У меня друг живет на улице Соколова (есть такая в Тель Авиве). Так эти дикари пишут ему во всех документах про какого-то Суколова. Это как ловец орлов, только ловит не орлов.
Или вот в России есть беда полицейских. У них какой-то трэш с ударениями: «дело было возбу?ждено». Но они стандартно так говорят, одинаково. В иврите же каждый ставит ударение, где хочет — по настроению. Один и тот же человек может в разные дни поставить разные ударение на одно и тоже слово.
Кроме того, род существительных тоже не важен. Можно сказать «два шекеля», можно «две шекеля» — их такие мелочи не волнуют. Редко кто следит за стандартами. Из-за этого у некоторых существительных род вообще был утерян с течением истории — «сакин» (нож).
Поэтому гласные — это такая мелочь)))))Singapura
31.03.2019 21:31Очень познавательно. Так-бы с машинным кодом поступить(с готовыми оптимизированными блоками), и новый язык сотворить.
tyomitch
31.03.2019 20:40+11) Чаще нет, чем да. В газетах в незнакомых читателю словах (например, иностранных фамилиях) пишут огласовки, а когда нет — то возникают конфузы: есть легенда, что когда российским премьером стал Фрадков, и его фамилия ещё не была на слуху, то диктор новостей прочитал её как «Пердаков».
2) Слов-омографоф в обиходе навалом, но чаще всего контекст позволяет их без труда различить. Любимый пример моего преподавателя: «бастовала» и «который/ая в чае» на иврите пишутся одинаково, но вряд ли есть хоть один контекст, в котором их можно спутать. Одно из любимых ивритскими филологами развлечений — создавать такие предложения, которые можно прочесть дюжиной разных способов, и чтобы каждый способ был грамматически правильным.
tyomitch
31.03.2019 20:29Также оно работает и в обратную сторону, «б» при сдвиге в начало превращается в «в» — вилон (занавеска).
Ээ, какая первая буква в слове ??????
Edit: и дальше примерно в каждой строчке по ошибке… Не надо так.Singaporian
31.03.2019 20:35+1Буква «вав».
Поторопился и опечатался в одной букве.
Так правильно:
Также оно работает и в обратную сторону, «о» при сдвиге в начало превращается в «в» — вилон (занавеска).
Другие ошибки иногда намеренные, чтобы упростить (типа как в сифрие надо еще хэй добавить — поднадобится целая история почему).tyomitch
31.03.2019 20:58Иногда намеренные, иногда сбивающие с толку («хазир» — это совсем не «возвращаю какой-то предмет»), иногда распространяющие заблуждения (Вифлеем и Вавилон стали так называться в греческом, и оттуда такими пришли в русский; к ивритской письменности это никакого отношения не имеет.)
Singaporian
31.03.2019 21:07А греки перепутанную букву откуда взяли по вашему? Из японского чтоли? Иврит — оригинал названия. И буква «бэт/вэт» стоит в «бейт лехем».
«хазир» — это совсем не «возвращаю какой-то предмет»
Я не стал ставить «тав» спереди, чтобы не взровать мозг людям. Понятно, что хазир — это свинья. Но я использовал это как краткий приказной тон, чтобы было просто понять.
Но может вы сами тогда сделаете лекцию на 1000 страниц, чтобы объяснить все правильно?tyomitch
31.03.2019 21:12Греки звук «б» записывали своей буквой «бета», а потом за тысячу лет её звучание в греческом изменилось — во всех словах, а не только в заимствованных из иврита — на «в», каковым остаётся и поныне.
Sychuan
01.04.2019 16:16Иврит — оригинал названия.
С какой стати иврит оригинал Вавилона? Это аккадское слово.Singaporian
01.04.2019 17:32Про Вифлием сказал, а не Вавилон. Я же подписал:
И буква «бэт/вэт» стоит в «бейт лехем».
ainoneko
01.04.2019 15:04Но, все же, есть гласные звуки, которые отмечаются согласными. Например, согласная «в» в середине слова становится «о» или «у».
Настоящиезанудыспециалисты считают, что это уже не буква, а огласовка (которая обозначается тем же символом ?\_(?)_/? ).
Более интересно, что эта самая «в» (когда она означает "&" ) иногда (перед некоторыми согласными) произносится «у».
Итак, берем комбинацию «с», «п», «р»
Ещё же «сифрА» (цифра) с тем же корнем?
…
Теперь посмотрим на существительные.
Добавляем «в» — получаем существительное. спвр (сепур — рассказ)
Двигаем «в» вперед — получаем новое существительное. свпр (софер — рассказчик, писатель).
Убираем все «в» и получаем еще существительное — сфр (сефер — книга)
Выкидываем предыдущие и добавляем «й» — это будет «сфрй» (сефрия — библиотека).
tyomitch
03.04.2019 13:00Настоящие занудыспециалисты считают, что это уже не буква, а огласовка (которая обозначается тем же символом ?\_(?)_/? ).
Всё ещё хитрее: буквами считается всё то, что было в Священном Писании изначально, а огласовками — всё то, что добавили позднее для удобства чтения.
Поэтому, например, во фразе ??? ??? первый вав — это буква, а второй — огласовка, даже хотя они пишутся одинаково и читаются одинаково.
Sychuan
01.04.2019 16:15В иврите нет гласных. Например: «канал» --> «кнл».
там есть гласные. Просто они не обозначаются на письме. Или обозначаются теперь с помощью огласовок.
Это привело к тому, что во многих языка Бабилон называют Вавилоном, а Бейтлехем — Вифлиемом.
Читается как Б и как В оно по причине того, что было заимствовано разными путями, ну и в разные языки, конечно. Иврита в те времена в Европе особо никто не знал. Все из греческого ???????, что на Западе, что на Востоке. Ну в России через церковнославянский из Византии, а в Западной европе сказалась латынь.
А, и еще один момент: «п» и «ф» — одна и та же буква (кстати, поэтому персы говорят на фарси, а палестинцы и фелистимляне — одно слово).
Это опять таки никак не относится к ивриту. Или вы думаете Федор и Теодор тоже из-за иврита? Просто некоторые звуки из греческого в русском языке обозначались буквой ф ( особенно, учитывя, что чисто славянских слов с таким звуком не было).
Итак, в иврите есть корни слов. Это не глагол, не существительно и не причастие. Просто корень, из которого конструируется любое слово этого смысла.
Это так в любом языке.
Берем корень -бег- и добавляем к нему приставки, суффкисы и окончания и поучаем убежать, бежать, бегал, прибежал, бежавший, бегущий, выбегший, прибежавший и т.д. Их тоже не нужно знать, они формируются сами. потому что люди знаю смысл приставок и способы их применения бессознательно.
Хотя бы потому, что структура есть только у иврита и арабского. А у остальных языков невозможно разговаривать, если не знаешь слов — их не нагенерируешь на лету, как в иврите.
Я не знаю, что такое ваша структура, но она есть у всех языков. И слова все время генерируются в любом живом языке на лету. Например, когда английское заимсвование хайп получает суффикс инфинитва хайпить. Также и в анг. языке из существительных делаются легко глаголы и так далее.Singaporian
01.04.2019 18:26там есть гласные. Просто они не обозначаются на письме. Или обозначаются теперь с помощью огласовок.
А прочитать дальше? Я об этом сказал.
Ctrl+F: «Вообще, в школьных учебниках есть, так называемые, огласовки»
Это опять таки никак не относится к ивриту. Или вы думаете Федор и Теодор тоже из-за иврита? Просто некоторые звуки из греческого в русском языке обозначались буквой ф ( особенно, учитывя, что чисто славянских слов с таким звуком не было).
Греческая письменность и звучание букв не родились сразу готовыми. Они были унаследованы из финикийского письма. Как раз из Египта. Поэтому финикийское письмо и арамейское (иврит, арабский) очень родственны.
Берем корень -бег- и добавляем к нему приставки, суффкисы и окончания и поучаем убежать, бежать, бегал, прибежал, бежавший, бегущий, выбегший, прибежавший и т.д.
Об этом я писал. Ctrl+F: «дальше можно играться префиксами/суффиксами, как и в русском языке»
Но еще я писал о том, чего нет в других языках. Пожалуйста читайте внимательнее.Sychuan
01.04.2019 21:58А прочитать дальше? Я об этом сказал.
Вы написали, что в иврите нет гласных. Это не так. Даже когда огласовок не существовало, тысячу лет назад или раньше, гласные там все равно были. Учебники тут совершенно не при чем. В иврите нет букв для обозначения гласных звуков. Ну в большинстве языков нет букв для каких-то звуков, или звуки обозначаются комбинациями букв.
Греческая письменность и звучание букв не родились сразу готовыми. Они были унаследованы из финикийского письма. Как раз из Египта. Поэтому финикийское письмо и арамейское (иврит, арабский) очень родственны.
Звучание греческих букв родилось из греческого языка. Египет тут никакого отношения не имеет. То же самое со славянскими языками. Изначально были буквы, которые были заимствованы из греческого, но никакого соответствия к славянским языкам не имели. Такие буквы исчезли. Наоборот, другие буквы пришлось ввести, чтобы обозначить Б и Ж, например.
Они были унаследованы из финикийского письма.
Они действительно были унаследованы из финикийского письма. Только иврит тут никаким боком. Вы что думаете, греки от евреев заимствовали алфавит и письменность?
Как раз из Египта.
Это финикийцы развили свой алфавит на основе египетского письма.
Поэтому финикийское письмо и арамейское (иврит, арабский) очень родственны.
Ну да, евреи тоже заимствовали у финикиян свою письменность. Все это семитские языки, народы которые жили близко, да и языки у них похожи. Но вообще говоря почти все алфавиты происходят от финикийского, кроме там корейского какого-нибудь.
Ну вот я не вижу, примеров особенности иврита. Точнее особенностей в нем много, но особенности есть в любом языке. И «структура», как вы говорите, которая позволяет образовывать слова, тоже есть в любом языке. Хоть в монгольском, хоть у инуитов.Singaporian
01.04.2019 22:42Вы написали, что в иврите нет гласных. Это не так. Даже когда огласовок не существовало, тысячу лет назад или раньше, гласные там все равно были. Учебники тут совершенно не при чем. В иврите нет букв для обозначения гласных звуков. Ну в большинстве языков нет букв для каких-то звуков, или звуки обозначаются комбинациями букв.
Я именно это и написал. Нет гласных букв и никогда не было. Есть огласовки, которые не используются. Вы вообще читать умеете?
Все остальные аргументы по точно также лишь демонстрируют ваше неумение читать.
tyomitch
03.04.2019 13:06Это опять таки никак не относится к ивриту. Или вы думаете Федор и Теодор тоже из-за иврита? Просто некоторые звуки из греческого в русском языке обозначались буквой ф ( особенно, учитывя, что чисто славянских слов с таким звуком не было).
При всём уважении, приведённые Singaporian примеры с п/ф «исказились» не в греческом, где различие п/ф вполне есть, а в арабском, где его нет.
degs
02.04.2019 17:42Невыносимо зачесалась рука лежащая на мышке, захотелось написать парсер/генератор создающий по произвольному набору согласных весь возможный зоопарк существительных/глаголов/наречий/и что там еще бывает. Успокойте меня, это кто-то уже сделал?
alaudo
31.03.2019 20:10В ваших рассуждениях я вижу несколько ошибок:
1) во-первых, Петя вряд ли учит английский уже хорошо зная китайский и французский и понимая, что ему в его (инженерной) работе понадобится английский. Скорее всего английский — это первый язык, который он учит, потому что понимает, что он нужен для общения с потенциальными заказчиками и документации. Вася же, который учит эсперанто, вряд ли учит его для общения с эсперантистом Джоном или для того, чтобы прочитать документацию на нем для эзотерического языка. Он, скорее всего, уже знает английский, и учит теперь другой язык из интереса.
2) во-вторых, это было бы верно, если бы выучить английский и эсперанто было бы одинаково просто. Но на самом деле если для изучения английского материалов и курсов полно на каждом шагу, то для изучения эсперанто нужно по крайней мере немного напрячься, чтобы найти учебные материалы. Найти курсы «вживую» здесь вообще малореально. Поэтому если Вася выучил эсперанто, значит что он приложил в несколько раз больше усилий, чтобы это осуществить, чем Петя, который просто записался на курсы недалеко от работы.
3) ну и в третьих, зачем, собственно Петя и Вася учат эти языки? Петя — как Вы правильно написали, учит его «для работы», чтобы иметь лучшие шансы в карьере. Вася же хочет разобраться в самих языках, в их устройстве, в том, как они функционируют. Для работодателя Петя, наверное, будет более интересен как «рабочая лошадка», но Вася, скорее всего, рано или поздно выбьется в архитекторы или CTO, потому, что понимает не только в рамках своей технологии и стеке.
Теперь замените «английский» и «эсперанто», на, скажем, Ява и Эликсир — и сравните :)DaneSoul
31.03.2019 22:16Поэтому если Вася выучил эсперанто, значит что он приложил в несколько раз больше усилий, чтобы это осуществить, чем Петя, который просто записался на курсы недалеко от работы.
Вы не учитываете, что эсперанто специально создавался как простой и логичный язык для быстрого изучения, без тысячелетнего груза легаси и исключений как в естественных языках.
Поэтому изучить его будет намного проще английского (и других распространенных языков), жаль только что применять его негде…Areso
31.03.2019 22:55Очень много опен-сорс программ имеют перевод на эсперанто.
Да и по поводу отсутствия применения, это тоже вопрос. Один мой знакомый, кхм, получал уникальные тексты как раз при помощи других эсперантистов. Он просил переводить интересные ему темы с национальных языков на эсперанто. Оттуда переводил на русский и получал отличный, не заезженный материал.
alaudo
01.04.2019 08:10Это я знаю. Но несмотря на это, для того, чтобы изучить английский Пете нужно приложить немного меньше усилий со своей стороны, так как это мейнстрим язык и по нему пруд пруди курсов, пособий и прочего. Васе же придется изначально потратить больше времени, чтобы найти учёбные материалы по эсперанто и изучить его. Это характеризует Васю как более упорного в данном случае (но только в данном).
Опять таки, а почему Вася решил вдруг учить эсперанто? Из-за того, что он проще английского? Вряд ли. Как он про него вообще узнал? Наверное были какие-то другие цели. Вот это и интересно!
oracle_and_delphi
01.04.2019 09:23При желании выпендриться, я бы на месте Пети учил ифкуиль! Очень красивый язык!
alaudo
01.04.2019 11:20Вы пробовали его сами? Или просто быстро поискали в Интернете.
Ифкуиль исходно был создан с целью быть как можно более сложным или нелогичным, а также как можно более коротким. Говорить и писать на нем сложно, и это специально так. Поэтому для чего его учить? Если хочется такой экзотики, то вполне можно выучить Клингон.
Я так понимаю тут не суть в «выпендриться», а в том, чтобы изучить что-то необычное, но полезное. Если брать что-то еще более необычное, то тут надо скорее идти в сторону логлана/ложбана, чем ифкуиля…oracle_and_delphi
02.04.2019 07:39В чём полезность знания эсперанто?
У ифкуиля хотя бы письменность выглядит реально прикольно.
Stepan555
01.04.2019 12:48В примере изначально было недостаточно условий, потому бесполезно спорить и домысливать сколько языков уже знали Петя и Вася и кто как что учил, далеко ли от работы были курсы и были ли вообще (я без курсов выучил и английский и французский) и уровень знания и их жизненные предыстории. Я описал ситуацию, которую считаю типичной. Принимая на работу эсперантиста я буду насторожен по описанным причинам, а к человеку с английским буду настроен позитивно. Но, конечно, это не единственный критерий и много ещё на что придётся обратить внимание.
Вообще, хочу вернуться к своей начальной реплике. Ситуацию с Питоном не считаю типичной, потому сомневаюсь в правильности сделанного автором обобщения. При этом я сам именно питонист-любитель, так что ничего против людей на досуге лабающих на питоне, естественно, не имею :-)
Gorthauer87
31.03.2019 10:01+1Но вообще, судя по отзывам HRов, таки Rust специалистов проще искать, чем плюсовых, обычно если кто-то прошел первичный фильтр, то он почти точно толковый парень, а не просто кто-то, кто вызубрил руководство "как пройти собеседования на плюсы".
Space__Elf
31.03.2019 14:57Потому что современный C++, из-за пухнущего стандарта, всё больше и больше превращается в PL/1, стандарт которого был настолько необъятно распухший, что мало кто знал и половину того, что в стандарте.
sshikov
31.03.2019 18:14Вообще-то PL/1 был довольно простой язык. И да, если что — я на нем лет 10 программировал.
freecoder_xx
01.04.2019 14:09В тех нишах, где технически применим как английский, так и эсперанто — вы кого возьмете на работу? Того, кто с энтузиазмом рвется работать с эсперанто, или рядового умеющего в английский? При прочих равных. Согласитесь, с такого ракурса проблема уже менее однозначна. Об этом и речь в статье.
avost
31.03.2019 01:48Знаю Рапиру и Algol-60 :). Ну, знал когда-то… А ещё этот, Quasic!
plustilino
31.03.2019 07:12Уместны ли вообще параллели между 2004 и 2019-м? Тогда «зоопарк технологий» был меньше. Сейчас проблема — как не заблудится в этом разнообразии языков, движков, фреймворков, моделей.
prospero78su
31.03.2019 08:36Не вижу никаких проблем в этом плане. После того, как узнал про Оберон и вижу новый язык, задаю себе один и тот же вопрос: «На сколько это хуже Оберона?». Шкала, в которой точка начала отсчётов — Оберон. Пока в ней находится только сам Оберон. Возможно появится ещё что-то, но похоже это будет просто другая реализация Оберона))
faoriu
31.03.2019 09:05А Smalltalk?
prospero78su
31.03.2019 11:45Это не язык промышленного программирования. По крайней мере, написать ПО для атомной станции на Smalltalk или части ПО боевого самолёта, при этом успешно использовать в обучении программированию школьников — даже близко не представляю себе как.
faoriu
31.03.2019 11:56+1Не знаю насчёт атомной станции или самолёта (на Oberon вроде такое тоже не пишут), но промышленно Smalltalk вполне применяется
prospero78su
01.04.2019 13:51Заблуждаетесь. На Обероне такое пишут. Ну, и банковское ПО тоже написано (есть солидные прецеденты).
faoriu
01.04.2019 16:41А можно пруфы насчёт самолётов и атомных станций?
prospero78su
02.04.2019 08:34Посмотрите проект «Информатика в 21 веке». На Тытрубе ищите «День Оберона в России» (практически в каждой конференции)
faoriu
02.04.2019 11:56А можно просто ссылку на список конкретных проектов?
prospero78su
03.04.2019 08:19Удивляюсь лени людей. Начните отсюда:Проект «Информатика в 21 веке»
По перекрёстным ссылкам найдёте достаточно полезной информации. Ссылку на соответствующую тему в «Королевстве Делфи» я Вам не дам. Уж потрудитесь найти сами, если Вам правда так интересно.
Siemargl
31.03.2019 09:59Ну эта псевдохоливарная статья как раз против такого стагнационнного подхода =)
prospero78su
31.03.2019 11:50+1Статья про то, что python более динамичный, чем Java. Для работы с первым легко писать код, и по сути — эта скорость отучает думать. История с Боингом — как раз из этой оперы. Сколько бы не применялся Оберон — я не помню ни об одном фейле связанным с ним. С python и Java таких косяков — тыщи. Начиная от ошибок в базовых библиотеках, утечках памяти, подмены кода зловредами, заканчивая подделкой результатов тестов.
Что касается «стагнационного подхода» — если Боинги и дальше будут падать, то я за такой «стагнационный подход».0xd34df00d
31.03.2019 23:22Сколько бы не применялся Оберон — я не помню ни об одном фейле связанным с ним.
Ну не все жехаскелистам шутеечки про «не нужно» слышать.
bm13kk
31.03.2019 16:38не боитесь начать холивар как было в поседних двух статьях об обероне?
Потому что в этом и следующем комментарии есть признаки всех вещей, которые критиковали в тех статьях.
stalker1984
31.03.2019 10:30Сложно сказать насчёт умнее или нет (это вообще очень субьективно, вы вот знаете всех участников «дом-2» или прочей фуфлогонии, а тётя Люся с кассы «пятёрочки» знает). Но что точно могу сказать, так это то что на питоне прям залипаешь на часы, и каждый баг прям расковыриваешь до подкапотного пространства. С Сями такого небыло.
Alexey2005
31.03.2019 13:22Ну да, когда вываливается километровый стектрейс, увенчанный UnicodeDecodeError, тут и вправду залипнешь на часы, разбираясь — то ли в исходниках где-то встретился левый символ, то ли с сервера прилетело что-то в экзотической кодировке, то ли где-то в самой программе случилось неправильное перекодирование.
ganqqwerty
31.03.2019 13:27кстати, как там дела с кодировками в питонвилле в 2k19? Все уже перешли на Python 3? Или в Python 2 впилили нативный юникод с объявлением всех библиотек, что его не поддерживают deprecated? Или все на тай же стадии, что и было в 2008, а Патриарх клянется, что начиная со следующего года все точно перейдем на тройку?
pesh1983
31.03.2019 15:21Там все отлично) py2 почти deprecated, а в py3 пополнении последних версий все сделали для того, чтобы не заморачиваться с кодировкой
Anshi85
31.03.2019 10:45Не могу сказать что либо про зависимость интеллекта программистов от конкретного языка программирования, но то что Python мне лично очень нравится это правда, он мне доставляет удовольствие, но проблема в том, что в моем городе вакансии под него нет, есть C#, Java, JS. обидно.
hatman
31.03.2019 11:021) Если человек учит какой-то непопулярный язык, ему либо по кайфу учить такие языки, либо он преследует какую-то узкоспециализированную цель, которую почему-то нельзя выполнить на «стандартном» языке (и человек уже копает).
2) Если человек пишет на языке, который еще не оброс литературой, документацией и прочее, то человек явно залез в его кишки и стал разбираться в нем гораздо лучше, чем обычный программист который учит апи платформы, с которой он будет работать.
3) Имеет ли это какую-то коммерческую ценность? — Нет! Если ты выбираешь непопулярный стек, ты достаточно быстро тратишь весь трудовой резерв, после этого тебя ждут удивительные мероприятия, как нанять людей на язык, платформу, который нафиг никому не нужен в текущий момент (привет Wriketeam с их Dart и mail.ru с их perl)
4) Целесообразно нанять в команду 1-2 крутых разраба-архитектора, а все остальные слоты занять смышлеными джунами и качественными мидлами. Так и код будет качественным и никто жаловаться на рутинные задачи не будет.Tangeman
31.03.2019 14:40которую почему-то нельзя выполнить на «стандартном» языке
А какой язык является «стандартным»? Это понятие, как мне кажется, сильно зависит от компании, индустрии и ещё кучи переменных. Где-то это Java, где-то C/C++, где-то даже Visual Basic, в NASA, к примеру, в своё время был довольно популярен явно «нестандартный» Forth.
Есть достаточно проектов в которых важен факт выполнения функции, а не стек или язык, которые создаются один раз и работают годы или даже десятки лет, или наоборот, с коротким сроком жизни, практически не требуют поддержки кода (потому что всё самое критичное вылизывается до их введения в прод) — соответственно, совершенно несущественно, какой язык выберет исполнитель.
500rur
31.03.2019 14:53Коммерческая ценность есть — при условии, что язык «взлетит». Это как покупка акций стартапа.
CheatEx
31.03.2019 19:49+1> как нанять людей на язык, платформу, который нафиг никому не нужен в текущий момент
Тут недолго остаётся до включения мозга и заполения вакансии не базвордами и аббревиатурами, а целями проекта и актуальными задачами. UNACCEPTABLE!!!hatman
01.04.2019 04:33Это все круто, но у человека всегда в голове есть мысль.
Ну пишу я условный проект на delfi/dart/haskel — ну допишу я его, ну разорится компания, ну уволят:
— куда я дальше пойду с этим опытом.
— смогу ли я претендовать на топовую зп
— и прочее
И всегда непопулярный стек проигрывает популярному по этим параметрам.
P.s. или что, вы хотите жить вечно? ©CheatEx
01.04.2019 12:40Опыт это внезапно решнные задачи, а не зазубренные приколюхи стандартной бибилотеки Джавы или Хаскеля.
Представляете себе продажника который переживает что из за покупки нового мобильника он не найдёт новую работу? Весь опыт то был на старой моторолле.Neikist
01.04.2019 12:55+1Ну тем не менее знание SDK, фреймворков и либ позволяет задачи решать быстрее. Говорю как человек недавно сменивший стек. Я вижу и знаю что задачи я вполне решу, в чем то даже качественней коллеги который имеет кучу опыта с SDK но не работал на долгих проектах, но я это делаю заметно медленнее ибо по многим вещам сначала нужно лезть в доку и статьи где нибудь на medium чтобы понять как делать правильнее или просто как делать.
vedenin1980
01.04.2019 13:14Представляете себе продажника который переживает что из за покупки нового мобильника он не найдёт новую работу?
Я знаю продажников, которые переехав из России в Германию или Францию, очень долго не могли найти работу (неидеальноое знание немецкого/французкого, разный менталитет, разные законы и т.п.). Даже просто крутой специалист по продажам страховок, вряд ли моментально сможет зарабатывать столько же или больше на продаже строительной техники, к примеру (так как очень много разной специфике в каждой области, разные подходы/связи и т.д.).
Все-таки смена мобильника это ближе к замене одного ноутбук на другой (с той же OC) у программиста, чем смена стека.
Paskin
31.03.2019 11:46+1Был два раза в такой ситуации. Первый раз — не стали писать на Эрланге, потому что проект должен был расти и расширяться — а найти к двум имеющимся эрлангистам третьего-четвертого было бы трудно. Второй — начальство повелось на Руби с рельсами, для которого в то время вполне хватило специалистов — только почему-то специалисты эти так всех достали спорами про «Руби-way», что проще оказалось их выгнать и переписать все на Java
ganqqwerty
31.03.2019 12:54+1Тут есть и другой парадокс. Чем более гиковский у тебя программист, тем с большей вероятностью он заскучает от унылых требований вашего бизнеса и унылого стека, на котором ваш бизнес пишет. Скучающий программист в проекте, где не надо быть Леонардом да Винчем, а надо просто сесть и реализовать какую-нибудь интеграцию с LDAP (подставьте сюда свою любимую банальную, скучную и очень нужную задачу) — это страшная вещь, скажу я вам.
Он потащит в проект микросервисы с Open Shift'ом, Scala и будет рассказывать, что ваши закупки лучше всего организовать в граф на neo4j или, боже упаси, RDF c онтологиями.
Он найдет, где реализовать паттерн «Лексема» и будет супер-логично объяснять, что импортировать готовый WYSIWYG редактор для формочки обратной связи ни в коем случае было нельзя.
Он будет оптимизировать и профилировать какой-нибудь reflow на фронтенде, чтобы добиться увеличения производительности на 0,003 мс, потому что профилировать reflow — весело и интересно и квалификация повышается, а фигачить очередную формочку — скучно и надо, чтобы ваша система закупок табачного оборудования нормально фурычила.
Заголовок спойлераvaranio Автор
31.03.2019 14:16Имхо неправильно считать, что гик — это чокнутый фанатик. Он может просто интересоваться чем-то вокруг
ganqqwerty
31.03.2019 18:23+1Скучающий гик — это не чокнутый фанатик, а (с точки зрения бизнеса) опасный маньяк-поджигатель! Он — настоящее воплощение термина overqualified, он был создан для того, чтобы раскатывать фолдинг белка по миллиону серверов, ну или хотя бы лайки в фейсбуке. Однако он то ли еще не понял этого, то ли не дотянул по квалификации, а потому вместо того, чтобы работать в Google X, сидит и ковыряет очередную систему организации сотрудников в каком-нибудь аутсорсе. Если над ним есть скучный архитектор с потухшими глазами, то может быть, ему не удастся взорвать вашу конторку, внедрив в нее Elm с ReasonML'ем и Closure, и ущерб ограничится только тем, что он доработает вашу спрятанную за восемью кликами гостевую книгу, сделав ее на двух микросервисах и организовав из них onion-архитектуру.
CheatEx
31.03.2019 20:00А у Вас есть теория относительно того зачем гугл их так усердно собирает?
ganqqwerty
31.03.2019 20:02+1Думаю, что у них есть методика, заимствованная откуда-нибудь из коневодства, когда дикого программиста получается «объездить». Либо просто задачи соответствующего их квалификации уровня.
Siemargl
31.03.2019 23:00Отличная идея. Но есть альтернативная практическая трактовка:
-«Солдат думать не должен, солдат должен выполнять приказ (с)
Singapura
31.03.2019 23:20+1Там живут спецы выросшие на повести Айзека Азимова. Профессия
ru.wikipedia.org/wiki/Профессия_(повесть_Айзека_Азимова)
Crafter2012
01.04.2019 11:31Можно предположить, что первый программист гугла(Сергей Брин) был таким. И второго программиста он нанял по образу и подобию своему, так зародилась традиция, ставшая политикой найма)
Zanak
31.03.2019 13:32У автора спорное, а возможно и ошибочное, мнение.
1. Есть языки, которые уже стали историей, что не отменяет достоинств, которые у них были. Бейсик, foxpro, pascal, haskell, ocaml, fortran, algol… Кто — то ушел совсем, другие осели в специализированных нишах, третьи живут только благодаря преданным поклонникам. Стоит ли делать далеко идущие выводы, если в резюме стоит один из таких раритетов? Только очень сильно подумав.
2. Есть языки, которые появились слишком недавно. Что можно сказать о человеке, который указал в резюме язык, известный только паре — тройке сотен товарищей? Ничего! Перед тобой может быть гений, а может и чудак, любящий все, что странно выглядит. В любом случае, я бы воздержался от приема такого человека на работу.
3. Даже в случае мэйнстрим языков, все не так однозначно. Гуру веб разаботки на java или C# конечно же сможет освоить python или php, но я обязательно спросил бы, что его подвигло это сделать.staticmain
31.03.2019 17:16Есть языки, которые уже стали историей, что не отменяет достоинств, которые у них были.
fortran
Фортран еще нас с вами переживет. Недавно вышел новый стандарт.Часть NASA'вского софта все еще фортран. Матбиблиотеки для моделирования сопромата все еще в большей степени фортран (матлаб на сях переписали с фортрана, но часть либ все еще он самый)
0xd34df00d
31.03.2019 23:27+1В одном ряду бейсик и foxpro вместе с окамлем и хаскелем — это, гм, как-то странно.
Zanak
01.04.2019 13:34Все они были придуманы давно, и сейчас:
— не используются совсем (на сколько я знаю, бейсик перестали использовать при преподавании программирования, как и чистый паскаль),
— используются редко и для довольно специфичных вещей (вы часто видите вакансии на ocaml или haskell?)
— используются гораздо меньше, чем в пору их рассвета, или их использование ограниченно отдельными областями (сходу foxpro могу припомнить только в поделках от ФНС, а было время, когда разработчики на нем пользовались хорошим спросом. с паскалем та же история. delphi разработчики время от времени еще требуются, но это совсем не те объемы, что были во времена 3-7 версий. Ada разработчик, персонаж вообще редкий, почти мифический, хотя сам по себе язык вполне живой)
Изучать эти языки сейчас вполне возможно. Только я бы внимательно прислушался к мотивации интересующихся, приди мне в голову желание нанять людей с такими позициями в резюме.
Если развернуть мою мысль, то она звучала бы как — то так.0xd34df00d
01.04.2019 15:58Все они были придуманы давно
Хаскель примерно одногодка C++ и Python. Окамль помладше, да.
не используются совсем (на сколько я знаю, бейсик перестали использовать при преподавании программирования, как и чистый паскаль),
Это, ну, не совсем так.
используются редко и для довольно специфичных вещей (вы часто видите вакансии на ocaml или haskell?)
Я пишу продакшен-код на хаскеле.
используются гораздо меньше, чем в пору их рассвета, или их использование ограниченно отдельными областями
Ну, не знаю про окамль, он мне не столь интересен, а хаскель скорее набирает популярность. Библиотеки пишутся, инфраструктура пилится, пакетные менеджеры всякие, интеграция с IDE.
Только я бы внимательно прислушался к мотивации интересующихся, приди мне в голову желание нанять людей с такими позициями в резюме.
Ну, у меня в резюме C++, Haskell и где-то в уголке стыдливо (потому что у меня практики мало) Idris.
anatoly314
31.03.2019 13:42+11. Придумать новый язык
2. Открыть на GitHub репозиторий с проектом на этом языке
…
PROFIT!!!freecoder_xx
01.04.2019 14:19Среди новых есть потенциально перспективные, но не все новые — уже перспективные. Тут нужно попасть в волну: выбрать новое и перспективное. Но такой выбор невозможно рассчитать. Поэтому множество увлеченных людей просто мапится на множество новых технологий, а те из них, что оказываются перспективными, осчастливливают свое подмножество людей еще и в коммерческом плане.
Singapura
31.03.2019 16:42«Человек творящий творит сам. Это всегда важнее, чем устоявшийся стиль или система.»(Брюс Ли). На Питоне, творить легче и быстрее(по-времени), после основной работы. У энтузиастов языка было мало дополнительного времени.
Space__Elf
31.03.2019 16:49+1После основной работы — у меня инди-геймдев на C++, но облизываюсь на Rust.
Singapura
31.03.2019 17:232004 год ведь шел...) Для выпускников нашего факультета Хогварда, ёмкость, чистота, и простота кода, очень важны… ))
slonopotamus
31.03.2019 20:09+1Вброс крайне неубедителен. Ни цифр, ни пруфов. Экстраполяция с одного товарища Грэма в 2004 году на всю отрасль в 2019? Ну камон.
Singapura
31.03.2019 20:51-1«Экстраполяция с одного товарища Грэма в 2004 году на всю отрасль в 2019»…
Товарищ Ньютон, незаслуженно получил право на названия Законов своим именем!) Законы эти, и до Ньютона были!)) И почему Грэм не сказал, о более ранних, похожих историях, в отрасли?!))
P.S А еще у Ньютона англицкий фэйс,… жуть!)))Singapura
31.03.2019 22:44«О чём ты думаешь, тем ты и становишься»(Брюс Ли).
Это для минусующих весёлый здоровый юмор, на спину надо намазать!))))
sshmakov
31.03.2019 20:58Имхо, суть парадокса в том, что если у тебя есть идея, и тебе нужно ее по быстрому проверить, то выбираешь инструмент, на котором это сделать проще. Понятно, что Python в этом смысле удобнее, чем Java — слишком много надо сделать телодвижений в Java, чтобы получить нужное. Относительно много, конечно.
Так вот, если человек не хочет проверять свои идеи, то ли потому, что у него их нет, то ли лишь потому, что инструмент неподходящий, то этот человек меньше пробует и узнаёт нового.
Поэтому дело не в языке, на котором вы пишете на работе, а в том, развиваетесь ли вы, ищете ли новые подходы. А связь этого с языком — лишь следствие поисков нужного инструмента.
Singapura
31.03.2019 21:23+1Java тоже был «Прорывом» в более раннее время. Просто «Парадокс Питона» надо было назвать именем «Парадокс Грэма», и обобщить на разных примерах.
areht
31.03.2019 22:02В 2004 было время романтиков, когда считалось, что бизнесу нужны сообразительные программисты, а гугл искал работников, развешивая загадки по билбордам.
Но «сообразительный программист, которому интересно языки учить» и «тот, кто решает бизнес-задачи» вовсе не синонимы.Singapura
31.03.2019 22:54Веб, «рванули» именно романтики. Вообще это из социологии тема. Питон в этом «промежуточное» звено.
areht
31.03.2019 23:07Ну рванули и рванули, это было давно и неправда. Да и не за зарплату, что уж.
На работу то нынче не для этого нанимают.Singapura
31.03.2019 23:27Чуть ранее в коментах ссылку дал на Азимова «Профессия», это к вопросу зачем это Гуглу.
ru.wikipedia.org/wiki/Профессия_(повесть_Айзека_Азимова)areht
01.04.2019 00:11чуть ранее в каментах написал, что романтизм давно не в моде. Азимов — фантаст, а не исследователь.
А вот Гугл на практике проверил и убедился, что это не дает ничего хорошего и перестал.Singapura
01.04.2019 06:45Ну, Гуглу виднее, что сейчас нужнее. Романтики как «пенка» социума, будут всегда. ))
areht
01.04.2019 09:37ему и не были нужны, просто им так казалось поначалу.
Пенку есть, знаете ли, далеко не все любят.Singapura
01.04.2019 18:52Гугл часть экономики США, это более глубокие темы. «Неправильная» оценка «тренда» развития. как-бы так. Экономика США «захлёбывается», идёт переоценка всех планов.
areht
01.04.2019 21:40Ну у загнивающего капитализма это перманентное состояние.
Но оплачиваемый работы для романтиков все равно очень мало, и от рассуждений больше не станет
Singapura
02.04.2019 10:07У романтиков всегда проблемы с реализующим слоем социума. Никола Тесла и Морган, как пример. Надо искать, и предлагать идеи «Морганам». Главное, это хотя-бы излагать понятным для них языком(не заумным). Чтобы не мешать им «додумывать по-своему», и выставлять свои, не очевидные для романтика приоритеты(разные слои социума мыслят структурно по-разному), в этой идее. Кстати о «пенке», я выразился неправильно, «пенка»(как в кипячёном молоке) из выгоревших романтиков, это худшее что с ними происходит(ни туда ни сюда). Романтики, это как «пузырики» у кваса, когда в него соль добавили.
Siemargl
31.03.2019 23:02А еще было время, когда IBM искало «нетрадиционных» программистов. Да и про Диснея был скандал.
Гуглите, если еще не вырезали из поиска и с контролем рвотного рефлекса норм
Singapura
01.04.2019 00:02Приведу пример в этой ветке. Маленьких Моцартов «запороли» тысячами, тогда, и в «той Европе», во время моды «на мелких и смешных музыкантов». Моцарт, уцелел чудом. Это к теме индустрии можно и сейчас сопоставить с оговорками.
psy06
01.04.2019 10:09Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе.
Вообще любой человек способный к элементарной аналитике, рано или поздно должен осознать такую очевидность. И программирование тут не причем совершенно. Любой энтузиаст изучивший предмет «потому что нравится» всегда будет выше классом того кто что-то выучил «потому что надо». Если вам за 30 и вы это узнали из этой статьи, вам следует больше кушать витаминов.
vedenin1980
01.04.2019 13:06+1Любой энтузиаст изучивший предмет «потому что нравится» всегда будет выше классом того кто что-то выучил «потому что надо»
Во-первых, стоит аккуратно использовать слова «любой» и «всегда» в логических выражениях, так как они опровергаются любым одним примером невыполнения, например «инициативный идиот-энтузиаст хуже диверсанта».
Во-вторых, энтузиаст может перегореть очень быстро и его кпд резко устремиться к нулю (а то и станет отрицательным), а человек, который просто работает работу, может работать долго и результативно. Думаю, все намного сложнее простого энтузиазма.psy06
01.04.2019 19:38Добавление контекста отсутствующего в исходной посылке, с целью доказать свою правоту, называется демагогия.
areht
01.04.2019 22:41А как называется посылка, не выдерживающая применения контекста?
psy06
02.04.2019 10:05-1Ну добавьте к е=мс2 свой контекст, и расскажите всем что Энштейн дурачок, ведь решение тоже не будет «выдерживать применения контекста».
Если вы не тролль, соблаговолите высказывать аргументы только в рамках спорного высказывания.
Могу вам помочь, левый контекст который вы привнесли это «инициативный идиот-энтузиаст», и «энтузиаст может перегореть».
Вас не устраиваетЛюбой энтузиаст изучивший предмет «потому что нравится» всегда будет выше классом того кто что-то выучил «потому что надо»
. Я же вам заявляю, что за всю свою жизнь не видел ни одного исключения из этой посылки. Ни разу. Ваше несогласие это конфликт вашего лишнего контекста.vedenin1980
02.04.2019 11:54левый контекст который вы привнесли
Нее, вы сказали «любой» и «всегда», чтобы ваше утверждение было логически верным оно должно выполняться в любом контексте (иначе это правило работающие явно не всегда).
По вашему утверждению берем любого дауна, мотивируем его на энтузиазм, и он должен работать в любой отрасли (например, в теоретической физике) лучше любого профессонала, работающего за деньги. Если нет — то это правило работает не с «любыми людьми» и не «всегда». У вас явная проблема с логическими выражениями, что для программиста — весьма странно.
Ну добавьте к е=мс2 свой контекст
Если вы найдете множество практических экспериментов, когда е=мс2 не будет работать в рамках применимости ОТО — это будет означать, что теорию относительности нужно заменить другой лучшей теорий.
Я же вам заявляю, что за всю свою жизнь не видел ни одного исключения из этой посылки. Ни разу
Мало кто, что в жизни не видел. Я вот никогда в жизни не видел мужчину, у которого было бы более одной официальной жены, это вовсе не значит, что их не существует.psy06
02.04.2019 18:33-1По вашему утверждению берем любого дауна,
Нет, это по вашему. В конструкции: «Любой энтузиаст изучивший предмет» вы увидели только «Любой энтузиаст», в связи с чем смысл текста исказился полностью. Обратимся к популярным толкованиям употребленных вами слов. «Даун» и «Идиот», это разновидности умственной отсталости, и означают неспособность к сложной умственной деятельности. «Даун» и «Идиот» технически не способны к — «изучивший предмет». Вы выдумали собственное толкование моего текста не имеющее никакого отношения к реальному смыслу. Конструкция использованная мной, означает высоко мотивированного на результат и процесс человека, способного к высокоуровневой умственной деятельности. Такой человек не может быть ни «дауном» ни «идиотом», это взаимоисключающие состояния. Далее, вы, строите новую посылку вообще не имеющую никакого отношения к моей мысли. «энтузиаст может перегореть». Ну и что? А солнце желтое. Все на свете могут перегореть. В общем читайте больше художественной литературы, с логикой и контролем у вас не очень. Пропускать слова в некоторых текстах может быть очень опасно для здоровья. Договоры там или судебные споры…areht
02.04.2019 21:02+1> Обратимся к популярным толкованиям употребленных вами слов.
Эк вы хитро решили контекст поменять
areht
02.04.2019 14:13+1> Ну добавьте к е=мс2 свой контекст
К «инициативный идиот-энтузиаст» применимо, вроде.
Не улавливаю аналогии, приведите пример?
> Я же вам заявляю, что за всю свою жизнь не видел ни одного исключения из этой посылки.
А я ни разу не видел суслика.psy06
02.04.2019 18:53-1Аналогия очень простая, добавление контекста в высказывание оппонента, это один из классических методов демагогии.
areht
02.04.2019 19:46+1Вы проверяете одно и то же. Это точно классический прием демагогии.
Ad nauseam (дословно — «до тошноты», по существу — «до отвращения») — латинская сентенция, которая используется для описания спора/дискуссии, которые длятся слишком долго (подробно, навязчиво, однообразно) или повторяются слишком часто, образно — вплоть до возникновения «тошноты». Означает, что все, кто были причастны к постоянному и однообразному «потоку» пафоса, устали от этого.
Bookvarenko
02.04.2019 01:47Предлагаю обсудить, в контексте статьи конечно, являются ли более сообразительными CG-артисты, использующие фракталы, нежели CG-артисты, фракталы не использующие.
psy06
02.04.2019 10:22-1Мой 16 летний опыт общения с вышеназванным контингентом говорит, что большинство из них идиоты, не имеющие никакого умственного развития. И да, кое кто из них использовали фракталы.
psy06
02.04.2019 11:57Поразительное, дело, меня минусуют только за комментарии по мотивам реального жизненного опыта, и плюсуют за отвлеченные высказывания. На этом можно целую диссертацию написать на тему типа например, «Иллюзии и отрицание реальности в профессиональных сообществах».
Bookvarenko
02.04.2019 12:02Ну, от этого и польза есть — по вашим заминусованным комментариям я нашёл несколько интересных статей.
MyGodIsHe
03.04.2019 10:00Вот в статье пишут про «зоопарк языков». Кто-нибудь видел такое в реальносте? И если да, какого это? Крупные компании активно используют микросервисы, но всегда ограничиваются двумя языками — кресты/питон (или аналог).
vedenin1980
03.04.2019 10:26Я видел.
Реально крупные компании активно покупают более мелкие, где продукт написан на разных языках, а потом их используют, в результате может быть сборная солянка из десятков языков.
Или другой пример, крупная компания, где я давно работал, фронт логично на javascript, местами переписанный под typescrpit (ибо более удобный, но полностью переписать js ресурсов не хватало), в беке местами php (для статических вещей), местами nodejs (для сложного дизайна). Для микросервисов ядра — java, из-за производительности и ресурсов, для больших данных — f# (просто удобнее), фремворк машинного обучение чужой по лицензии, там вообще сборная солянка из C#, python и т.п. Кажется в каких-то критических к производительности сервсивам еще и C++ обитал. Причем использование каждого языка было вполне обосновано. Но компания реально крупная, она могла позволить себе разных специалистов.MyGodIsHe
03.04.2019 13:38Я про бэк говорил. Всё таки фронт не имеет отношения к микросервисам. Да, это типичный стэк. Но компании стремяться его сузить. Слышал только про один пример — компания Zalando. Но подробностей не знаю. Если много разных языков, то общую автоматизацию особо не напишешь.
Bookvarenko
Для игровых движков парадокс Питона тоже работает?
freecoder_xx
Работает, но для Rust ;)