воскресенье, 17 мая 2015 г.

Что мне дали языки программирования

После диалогов последнего времени с людьми очень хочется написать какой-то пост в этом направлении.

Будучи во многом самоучкой (что достаточно неплохо сказалось на практике, с преподаванием которой насколько я знаю всё плохо, и плохо на теории, которую я пытаюсь частично компенсировать), слодилось, что

Pascal - позволил создавать инсталляторы (пакеты установки программ) с помощью Inno Setup. (А ещё это был второй язык обучения - он был в физ мат школе, до него я малоосмысленно писал на С++ с обёрткой.)

C - Этот язык дал мне понимание некоторых принципов работы с памятью (указатели, структуры, массивы, переменные и типы данных наконец), и строками. (К сожалению про кодировки, wide char и unicode я узнал намного позже чем мне было надо, и к сожалению, собранной в один справочник, краткий, по сути и для новичка информации очень недостаёт и порой когда дело доходит до just for fun на досуге очень не хватает. Об этом не говорили в универе и почти не говорят в книгах и в сети) А ещё помогает когда надо прочитать двоичные файлы.
Хотя на практике требует осторожности, внимания и скурпулёзности, хотя проигрывает в этом С++.

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

C++ - Собственно первое знакомство с классами и некоторые более удобные обёртки). По большому счёту, если не строить на нём карьеру, то мне кажется, что без него можно было бы обойтись.

Python - В общем-то универсальный инструмент, плюс низок порог минимального вхождения. С недостатками, да, куда ж без этого: обычно с установкой под ОС Windows и скоростью выполнения *Обычно на пяток милисекунд дольше, зато я когда пишу экономлю десятки минут по сравнению с другими ЯП!*.
Бесценен если надо сделать что-то быстро: написать прототип архитектуры приложения, скачать файлы из инета, обработать, переименовать что-то на диске, нарисовать графики для простого отчёта...

Так же на его примере я познал основы регулярных выражений, благо за счёт наличия интерактивного редима на нём их очень удобно проверять и экспериментировать.

Он, к слову, приучил меня к концепции, похожей на LINQ в C#. Тем более, что интераторы в нём = основной инструмент.
Помогает писать веб-сервисы).

C# - Дал возможность писать большую часть программ под ОС Windows быстро и удобно, к тому же с удобным интерфейсом пользователя, а в случае чего написать и веб сервис.

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

Go (Golang) - Специфический язык со специфичным синтаксисом (хотя до Паскаля далеко), позволяющий делать комфортно специфические вещи. ОБычно строить какие-то небольшие (микро) веб сервисы. Но с обходом и переименованием файлов тоже справиться.
Мне много дал, когда я разбирал библиотеку, конвертирующую текст из одной кодировки, в другую. Хотя попадись мне под руку наглядный пример на Си, всё возможно было бы по другому.


Вне осталась только Java, поскольку в копилку знания по CS и ЯП она мало что добавила.

Комментариев нет:

Отправить комментарий