← All posts tagged программирование

provaton

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

provaton

Всякую сисадминскую автоматизацию для линуксов я пишу на шелле (с башизмами). Конечно, это мазохизм, но есть некоторые очень соблазнительные преимущества:

* простота запуска — не нужно ничего компилять, баш есть даже на самых кастрированных линуксах. Никаких бандлеров, виртуалэнвов, просто скопировал скрипт на сервак и запустил. Совместимость между версиями баша по сравнению с руби или питоном — просто идеальная.
* операции с файловой системой очень удобны. Создать/переместить/скопировать файл, создать структуру директорий, массовая замена текста в файлах, и т. д. — для сисадминщины это очень важно и нужно.
* пайпы, редиректы — супер удобный синтаксис

Но есть большая ложка дегтя — собственно программировать на шелле очень трудно. Если появляется нужда в нетривиальных структурах данных и нетривиальных алгоритмах их обработки — то наступает полный и беспросветный мрак и отчаяние.

Поэтому вопрос — чем можно в 21-ом веке заменить шелл, чтоб преимуществ не сильно растерять, но и при этом иметь возможность нормально программировать? Готов рассмотреть ЯП с компиляторами со статической линковкой. Поделитесь опытом.

provaton

Посмотрел на современные статически-типизированные языки. Как-то получается, что они разделились на три категории

1. Низкоуровневые с нативным компилятором (go, rust, d)
2. Высокоуровневые под jvm/.net (boo, kotlin, scala)
3. Заумно-задротские с нативным компилятором (haskell, *ML)

Есть ли примеры, которые не попадают в эти три категории?

provaton

Что сейчас рулит из последних жаваскрипт-фреймворков? angular2, reactjs, aurelia? Во что стоит инвестировать свои мозги?

Я так смотрю что в мире ЖС пока ты осваиваешь один фреймворк он уже успевает стать deprecated, и на юзающих его начинают смотреть как на динозавров.

provaton

Перевел один из старых больших проектов на python3. Сложности возникли с

1. принт со скобками
2. .encode('hex') для строк
3. не везде были правильно прописанные относительные импорты.

Почти не возникло проблем с юникодными и байтовыми строками.

После недолго греппинга вышеуказанных проблем прогнал тесты — и все вроде взлетело. Легче чем я думал.

provaton

Интересно, что после окончательного перехода с Emacs на PyCharm я стал гораздо меньше комплексовать по поводу отсутствия статической типизации в питоне. PyCharm очень качественно отлавливает ошибки, я порой даже теряюсь сразу понять по какому алгоритму он некоторые из них находит. Конечно, до GHC чарму еще далеко, но все же результат ощутим.

provaton

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

1. Java/Scala
2. ML/OCAML
3. C#/F#
4. Haskell
5? Swift (увидел в рейтингах но хз что это такое вообще)
6? Go (не уверен в том, что он настолько высокоуровневый как остальные в этом списке)

Дополните, плз.

provaton

Интересная ситуация на проекте — понадобилась нам заинтегрироваться с Moodle. На пхп я никогда не программировал (и никто из ребят на проекте тоже), документация у мудла слабенькая, ну я понимая что провожусь с этим делом слишком долго, предлагаю начальнику нанять какого-то пхпшника, мол у него и рейт пониже будет, и сделает быстрее. Ответ меня поразил — "I don't trust PHP developers".

Вот мне интересно, начальник дурак или все правильно делает?