В 1975 году хороший программист мог знать ВСЕ языки программирования, использовавшиеся на тот момент. Сейчас это в принципе невозможно.
И что одни, что другие были рассчитаны на использование людьми с профильным высшим образованием.
если выбросить все мусорные и узкоспециализированные языки то в принципе можно. так и так большинство языков C подобные и адаптация проходит за 2-3 дня.
Ага, а потом в проект, скажем, на «C-подобный» Typescript приходит разработчик на «С-подобной Java» и начинается трэш.
Такой, что хочется сбежать на Ада-подобный Rust
То что синтаксис похож совсем не значит, что похожи языки.
Сейчас знание синтаксиса языка это вообще ничего, можно легко разобраться в синтаксисе за пару дней, если есть опыт. Но по итогу знание синтаксиса на практике не так много дает, так как все на фреймворках, а их все равно, чтобы хорошо понимать все подводные камни, надо реально поковырять и поиспользовать в продакшене.
Т.е. я соглашусь, чтобы просто писать на каком-то новом языке много не надо, но чтобы реально знать язык, чтобы быть сеньерском уровне языка надо побольше. К примеру та же Scala, вроде как писать после Java можно прям почти сразу, только это совсем не значит, что ты его знаешь даже близко
и что в js такого особенного?
Особенно после es6 он стал похож на нормальный язык.
Понимаю еслиб какой-то erlang вспомнил, но js самый обычный язык.
А вообще, я думаю, что имели в виду, что некоторые вещи в JS не как у всех.
А так да, норм язык.
JS простой, как палка. Но кривой, как турецкая сабля. Поэтому львиная доля времени свитчера уходит на нытье: "Почему тут все так бестолково?!"
Как системщик ответственно заявляю - достаточно понять основные принципы, и все ассемблеры твои. Как и любые другие ЯП. Отличия практически всегда чисто косметические и изучаются за пару дней чтения документации.
Как и любые другие ЯП. Отличия практически всегда чисто косметические и изучаются за пару дней
ага-ага. знать и пользоваться - понятия разные. сейчас у любого ЯП тонны Фреймворков, особенностей и спецификаций. Удачи в изучении документации за пару дней, это сильно поможет(нет)
Фреймворки и их особенности изучать вообще нет никакого смысла. Они меняются быстрее, чем ты успеешь их изучить. Основные принципы, на которых все они (одинаковые все как под копирку, но внешне "принципиально новые") строятся, изучить можно за пару лет в универе, а дальше просто знакомиться с очередным NIH-поделием за пару дней, взрывая мозги "погромистам")
Ещё раз: изучить и использовать на практике - вещи разные.
Какие практические задачи ты сможешь решить, если у тебя за спиной пару дней чтения документации? Почти Никаких. Возможно для настройки чего-то и сисадминства этого достаточно, я не знаю, но не для работы над какими-то более сложными проектами.
> Ещё раз: изучить и использовать на практике - вещи разные.
Никто не спорит, разные. Но с фундаментальными знаниями за плечами, практика в любой области будет успешной.
> Какие практические задачи ты сможешь решить, если у тебя за спиной пару дней чтения документации?
Любые, хах. Критической разницы между, скажем, различными ORM, нет. Они все делают одно и то же, просто немного по-разному. Как именно - второй вопрос, который и решается за пару дней чтения документации.
Повторюсь, навыки - это то, что нарабатывается без проблем, если за плечами есть фундаментальная подготовка. Если ее нет, то, конечно, управлять каждым новым типом велосипеда придется учиться с нуля, потому что у него руль иной формы и передачи переключаются другим рычажком.
1) Естественные языки и искусственные сильно отличаются, если что.
2) Так-то да, зная английский, латынь выучить особого труда не составит.
Проблема в том, что современные задачи требуют (современных решений) Использования этих библиотек. Это уже стандарты можно сказать. И если так копаться ещё целый обязательный стек наберется. И это всё войдёт в мастхев программиста.
А тут люди уверены, что синтаксис изучил, и значит уже готов к труду и обороне. Ну бред же.
Полагаю, мы разное понятие вкладываем просто в словосочетание "выучить язык". Поэтому я привел аналогию, что выучив алфавит ты можешь читать слова, но их смысл обычно не становится понятнее. Также и выучив основные конструкции ты заглядываешь в реальный рабочий код и долго ползаешь по справкам (aka словари в разговорных языках), то есть не юзабельный уровень. Поэтому я расширяю понятие "выучить язык" до "уметь быстро читать чужой код, благодаря знакомству с расхожими технологиями aka библиотеками). Ну да ладно. Кроч, мир тебе, хомосапиенс)
И тебе удачи
Зная базовые вещи (хоть того же Кнута) и математику, любой язык и любая технология для тебя будет как открытая книга, освоить в кратчайшие сроки их никакого труда не составит.
Продолжая аналогию с естественным языком, ты, конечно, не станешь великим писателем и не получишь Пулитцеровской премии за свое творчество, но 99% реальных задач будешь решать вообще без проблем. И только для 1% придется реально глубоко залезть в язык и тонкости работы конкретного инструмента. Но даже это много времени не займет.
Дело в том, что владея фундаментальными знаниями освоить прикладные - пара пустяков. Если же начинать изучение программирования (или, того хуже, карьеру) с книжек или курсов, нацеленных на максимально быстрое вкатывание, то, конечно, подобные заявления будут казаться чем-то невероятным.
> да Oracle работает иначе нежели PostgreSQL, поэтому при смене работы все время тыкаешься в подводные камни
Если понимать, как работают СУБД в общем, какие модели данных у них могут быть внутри, как хранятся и обрабатываются эти данные, то на разбор особенностей и "тыканье в подводные камни" уйдет как раз пара дней.
Мне кажется довольно абсурдным убеждать кого-то в чем-то, кто имеет собственный эмпирический опыт. Если бы тебе сейчас стали доказывать, что небо зелёное ты бы стал слушать? А если всю жизнь в бункере жил? В нашем случае это больше на обычную распальцовку похоже.
Ну, то, что это Вам кажется абсурдным, говорит лишь о том, что Вы не понимаете, о чем речь идет. Каюсь, я не лучший оппонент в споре. Но и Вам стоило бы присмотреться к теоретическим (и философским! да-да) основаниям своей деятельности. Тогда, скорее всего, поймете, о чем я говорю, даже без моих корявых объяснений.
Много раз слышал от лингвистов, что выучив один язык, второй учить в разы легче, а последующие вообще даются элементарно. Тоже самое много раз слышал от программистов. Так что думаю это вполне правдиво.
Поддержу коллегу. Уже давно на ассемблере не пишут полномасштабные и большие проекты. Понимание как работает один асм, без проблем поможет читать другой с programming manual в руке. Последний полный ассемблерный проект писал недавно, когда для чипа с 256 байтами рамы, нужно было написать загрузчик исполняемый из этой рамы.
Отладчик заливает в рам буффер кусок прошивки и программу которая этот кусок записывает через внутренний модуль flash. Отладчик ставит PC на прогу, адрес буфера и длину данных в регистры и поехали.
А потом ты понимаешь, что что-то сложнее тормозящего калькулятора ты со своей "адаптацией" не можешь написать :)
не стоит от "адаптированного" ждать высокого уровня. работать то будет работать )
Вопрос подымался в изучении языка а не в том что бы очень круто на нем писать.
Это как с полиглотами, знают десятки человеческих языков, а как начинаешь копать, оказывается что говорят то они на них с трудом, но говорят.
Вопрос подымался в изучении языка а не в том что бы очень круто на нем писать.Именно это и подразумевается под "знанием языка", смысл такого изучения, если ты не можешь на нем ни одной нормальной задачи решить?
Я с таким же успехом могу заявлять, что знаю python, php, c#, go, java, но по факту, из этого списка я полноценно могу работать только с java-ой.
только ситхи возводят все в абсолют. когда начинается "знание языка" когда хелло ворлд выведешь? Или когда проект напишешь? Какой сложности проект? Очень абстрактное понятие
Очень абстрактное понятиеНаоборот, очень конкретное, я вполне однозначно выразился:
смысл такого изучения, если ты не можешь на нем ни одной нормальной задачи решитьЛюбая "real-world" задача, естественно с соответствующей нагрузкой.
Будь то API + DB, Frontend или реализация ML алгоритма.
Дальше - да, можно размазывать сопли по стеклу и вопрошать, являются ли программистами codemonkey или нет.
Вроде java знаешь? вот real world задача напиши на FX что то и собери под все платформы.
Имхо тут как с языками разговорными, если ты можешь понять о чем говорят (что делает код) и можешь разговаривать пусть подсматривая нужные слова в словаре (гугл и stackoverflow) то можно с легкой натяжкой сказать что язык ты знаешь. Чем меньше гугла и стековерфлое тем значит у тебя больше опыта в использовании языка соответсвенно и лучше ты знаешь язык.
О, а почему?
Они разве не разные задачи решают?
Я как не копну крутую либу, движок или драйвер там так c/c++ неужели можно нормально яву заюзать в этих задачах?
В этих задачах даже C++ вы вряд-ли будете использовать, а ограничитесь православной сишечкой.
Под каждую задачу свой инструмент. Я вас удивлю, но есть задачи, где даже пайтон будет предпочтительнее, недели джава или C++.
А я и не сравнивал. Я всего лишь сказал, что джава - топчик. И это я говорю не как фанатичный адепт джавы, а как C++ разработчик.
Топ - ранжированный список. Ява на верху списка. Как вы его составили-то не сравнивая языки?



