Найти в Дзене
Android_Новости

Советы "старого" програмиста. Или как начать кодить)

Санчо,
Пока всё нормально, покупаю то о чём так давно мечтал, но думал что
никогда не смогу себе позволить:
Через пару недель отпусг, поедем в Prince George, проведём
рекогносцировку на местности.
По программированию... Мне всегда было непросто смириться с тем что моя
программа будет иметь те или иные ограничения. Я идеалист и максималист,
поэтому очень часто бросал проэкты как только появлялись какие-то сложности.
Сейчас очень много языков программирования и фреймворков, в них легко
потеряться.
Могу сказать чем точно не нужно заниматься:
- все пропиетарные технологии типа .Net, C#, J#, F# -- решительно НАХ!
кстати пидорасы из Микрософта не устают выпускать новые. Там фишка в том
что все эти языки достаточно просто изучить, но они будут каждые полгода
без надобности что-то изменять. Заебешься за этим всем следить! Будешь
носить очки с двухсантиметровыми линзами.
- туда же идут и D, Swift от гламурных фашистов Apple, а также Go от
негламурных фашистов Google.
- Java от Ораклис
раньше было веселее))
раньше было веселее))

Санчо,

Пока всё нормально, покупаю то о чём так давно мечтал, но думал что
никогда не смогу себе позволить:
Через пару недель отпусг, поедем в Prince George, проведём
рекогносцировку на местности.




По программированию... Мне всегда было непросто смириться с тем что моя
программа будет иметь те или иные ограничения. Я идеалист и максималист,
поэтому очень часто бросал проэкты как только появлялись какие-то сложности.

Сейчас очень много языков программирования и фреймворков, в них легко
потеряться.

Могу сказать чем точно не нужно заниматься:

- все пропиетарные технологии типа .Net, C#, J#, F# -- решительно НАХ!
кстати пидорасы из Микрософта не устают выпускать новые. Там фишка в том
что все эти языки достаточно просто изучить, но они будут каждые полгода
без надобности что-то изменять. Заебешься за этим всем следить! Будешь
носить очки с двухсантиметровыми линзами.

- туда же идут и D, Swift от гламурных фашистов Apple, а также Go от
негламурных фашистов Google.

- Java от Ораклистов -- туда же. JVM -- это операционная система в
операционной системе.

- Чистый Си (plain C) -- язык слишком стар и не поддерживает многих
новых вещей, не стоит инвестировать в него время.

- не стоит также иди в JavaScript, он хоть и опенсорсный, будешь носить
очки с трёхсантиметровыми линзаме!

Вообще есть два типа языков:
- компилируемые (C, C++, C#,...)
- интерпретируемые (Python, Ruby, bash, Windows batch/cmd)

Компилируемые компилируются в бинарный код под разные процессоры,
итоговый файл будет нечитаемым если его открыть в блокноте.

Интерпретируемые это скрипты, они по-сути являются текстовыми файлами.
Они не могут выполняться сами, им нужен интерпретатор (python.exe,
ruby.exe). Каждый раз когда такой скрипт запускается это "стоит" доп.
времени по запуску интерпретатора, поэтому все интерпретируемые
программы всегда медленнее скомпилированных.


Компилируемые делятся на два вида: те которые требуют runtime и те
которые не требуют runtime. Большинство пропиетарных технологий будут
требовать runtime. Оно следит за выделением памяти и там будет сборщик
мусора (garbage collector) и впринципе все (кроме меня) верят в то что
runtime облегчает работу программисту.


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

При этом сами они пишут на древнем, небезопасном и "устаревшем" С++. И
потихоньку стараются испоганить собственную реализацию С++ (Visual
Studio) чтобы народ стал переходить на их Си-шрам, джей-шрам и прочую
поебень.

Основных языков которые заслуживают внимания НА МОЙ ВЗГЛЯД ТРИ:

(1) Ассемблер. Да пиздато писать, но учти что код написанный для Pentium
4 не заработает на Power PC. Язык для тех кто работает с железом на
низком уровне и для вирусопейсателей.

(2) Ruby. Это ахуетительнеший интерпретируемый язык с очень низким
порогом вхождения. Впринципе после 5 дней чтива практически каждый
сможет начать на нём писать. Я лично знаю с десяток языков и вообще-то
не планировал изучать ничего больше, но для Ruby сделал исключение.
Очень и очень пиздато там всё сделано. Альтернатива ему Питон, но Python
на мой взгляд гораздо менее удобный, да и коммьюнити питоновское
ебанутые на всю голову люди. Ты на англицком читаешь? Если да то
рекомендую прочитать вот эту книгу от корки до корки:

http://www.amazon.com/Programming-Ruby-1-9-2-0-Programmers/dp/1937785491/ref=sr_1_23?ie=UTF8&qid=1463974215&sr=8-23&keywords=ruby

Не стоит пока изучать фреймворки типа Ruby on Rails и тому подобное.

(3) С++ впринципе позволяет сделать всё что хочешь, при этом проги будут
конечно уступать ассемблеру по скорости и объему исполняемого файла, но
по сравнению с другими языками С++ это практически самое быстрое из того
что доступно если не связываться с ассемблером и Си. Где-то на 5%
медленнее чем plain C. Не зря почти все игры пишут на С++, также на нём
пишут всякие системные вещи типа блоков управления реакторами на
подводных лодках. В С++ стоит соваться только после того как есть опыт
программирования на более простом языке типа Ruby.


Заканчиваю старческое ворчание и напоследок могу сказать следующее:
программист это тот кто пишет много кода. Ты почитай, потом попиши,
потом опять почитай....

По ссылке:
https://habrahabr.ru/company/yandex/blog/277953/

читай ответы мэтров на вопрос "Что бы вы посоветовали молодым
разработчикам, которые хотят последовать вашему пути?"
Как по мне, так это очень правильные ответы.