@AlexandrMilaev

«Философия» всех языков программирования. Миф или реальность?

Никому ненужная предыстория
Когда-то давным-давно(7 месяцев назад), будучи совсем зелёным, я бросился в ВЕБ. Этап вёрстки был пройдён и пришло время для программирования, да, для Javascript. Но я так и не смог его осилить, мне он был неинтересен, я читал различные книги по нему и попросту засыпал. Я думаю теперь уже понятно, что ВЕБ я выбрал из-за низкого порога входа. Но не ради денег, как можно подумать, а из-за того, что я сомневался в своих, кхм, умственных способностях, мол "не осилю". В итоге решил изучать то, что мне действительно по нраву — разработка игр, однако сейчас не об этом.
Для изучения новой области мне нужны были новые языки и я подобрал для себя некий стек: Python, Lua, C++. Два скриптовых, можно сказать воспомогательных и один основной. Изучение первого ещё продолжается, если точнее, то остались только "Классы“. И знаете что я заметил? Нет этой боли ниже спины, всё настолько приятно и легко учиться, особенно когда уже знаешь такие термины как массив, переменная, оператор и так далее. Со вторым я ознакомился два часа назад по статье «Lua за 15 минут». И почему-то всё так же понятно и легко, это просто мёд для мозга. Не надеюсь что так же будет и с C++, но перед ним я обязательно сяду за алгоритмы и сделаю код чище, таков мой TODO-лист, никак не оправдания.

Подходим к главному. Действительно ли при изучении одного языка программирования появляется возможность с лёгкостью изучить другой язык? Какие подводные камни могут при этом быть? К примеру, учим мы какой-нибудь динамический язык, а статический уже так просто не выучишь. Ну и дополнительный вопрос, очень это интересует, так как читать в десятый раз "что такое переменная" мне не по душе, тот же C++ для тех, кто знаком с программированием, учиться каким способом?
Добавлю ещё немного букв чтобы не бросались камнями. Программирование это не только изучение языков, а ещё и алгоритмы, методологии, различные разделы математики, но здесь хочу обсудить именно языки программирования.
  • Вопрос задан
  • 639 просмотров
Пригласить эксперта
Ответы на вопрос 6
Veneomin
@Veneomin
Философия одна и таже, синтаксис разный. Если дорос до уровня "работаю и получаю деньги" на одном языке программирования то выучить другой не проблема.
Ответ написан
Комментировать
Выучите в начале Си, япы делятся на 2 типа:

1) Си
2) Все остальные

Потому что Си это отец всех языков, любой компилятор, или интерпретатор так или иначе пишется на Си. Это во многом определяет логику. Тем более что книжка по Си не такая уж и большая, брошюра из 200 страниц. Си это детерминированный язык, после него любой другой будет проще даваться.
Ответ написан
@Stqs
senior software developer

Действительно ли при изучении одного языка программирования появляется возможность с лёгкостью изучить другой язык? Какие подводные камни могут при этом быть?

нет не появляется
обычно на понятиях "переменная" и "массив" все сходства и заканчиваются
то что вы имеете в виду называется императивное программирование
и с этой точки зрения большинство языков одинаковые
а в реальности же у каждого языка как раз таки есть своя философия, благодаря которой он сумел найти и занять в этом мире свою нишу. и эту философию постигать бывает довольно сложно, особенно имея серьезный багаж в каком-то другом направлении.
Мозг заточен уже под конкретную философию и когда ты пытаешься ее же переприменить(мозг автоматически это делает) к другому - это, бывает, заканчивается сильным батхертом

Но не так все печально
тут на помощь приходит опыт который не пропьешь
и он с другой стороны помогает быстрее раздуплиться с тупыми новичковскими проблемами типа запуска, сборки, управление зависимостями, дебаг, деплой, профилирование и все такое
и обычно можно посвятить себя целиком и полностью самому языку (или философии языка если угодно)
Ответ написан
Комментировать
vvpoloskin
@vvpoloskin
Инженер связи
Легкость появляется тогда, когда понимаешь, что язык просто инструмент для какого-то продукта. Сайт можно сделать и на php, и на c, и на haskell, и, о боже, даже на asm. Игру можно написать на том же наборе. Вот когда придёшь к тому, что надо всего лишь освоить инструмент (ЯП это, библиотека, операционная система или IDE), становится без разницы.
Ответ написан
Комментировать
@red-barbarian
отчасти)))
с языками как с обычными языками - следующий намного легче учиться.
Подводные камни есть и они довольно серьезны. Дело не в синтаксисе. Есть такое понятие как парадигма. Это примерно способ мышления, способ понимания задачи который можно перенести естественно на конкретный язык программирования.
так, например, у С это императивная парадигма. У C++ это объектно ориентированная. С этой точки зрения такие языки более различны чем разные синтаксисы С и какого-либо бейсика.
Второй момент. Можно поверхностно узнать язык за пару часов. Но изучать его всю жизнь. Язык не только синтаксис. Это также подводные камни этого языка. Особенности компиляторов и эффективных решений. Идиомы. Особенно это относиться к C++.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы