Чим більше мов ти знаєш - тим більше ти крутий перець

Вирішив написати декілька своїх думок на рахунок мов програмування. Основна мова яка мені приносить дохід це php. Я також знаю і інші але дуже сильно я у них не втягуюсь і я розкажу чому. Також опишу чому варто вивчати і інші мови і як вони мені допомагають.

Я PHPшнік. Хтось може сказати що php ацтой, хтось скаже: php крутяк. Я скажу просто: php норм. У рнр багато недоліків, але зі своєю задачею вона справляється. Так само як справлється сішка і джава у своїх областях.

На даному етапі я зробив контрибюшин на github на 8 мовах. Постараюсь описати чому аж стільки багато і що я на них намутив. Якщо стає скучно - прогорніть до своєі улюбленоі мови.

Php

Ну тут все ясно. У мене декілька бібліотек які допомагають мені краще працювати. Для прикладу я написав лібу для зручного витягування сторінок з інтернету - parser. Також для рефакторингу коду - phpTokenizer. Плюс ще декілька. На даному етапі займаюсь переписуванням деяких з них =)

puppet

А тут уже веселіше. Це дуже і дуже кльова штука для конфігурації комп'ютерів. Розкажу трохи про цю систему.

Puppet це програмка якій ви згодовуєте файл конфігурації написаній на іхній мові, програмка його читає і налаштовує ваш комп'ютер. Спочатку у мене був файл у якому все налаштовувалось, створювались файли і потрібні папки та інше. Потім  знайшов puppt і зрозумів що це крутяк.

Розкажу про переваги:

  • простий синтаксис
  • готові бібліотеки
  • не виконує зайвої роботи
  • зручне налаштування конфігів
  • всяке інше.

На puppet налаштовую як свій комп, такі офісні комп'ютери (хто читає мій блог знає) Одного разу я вирішив написати компонент/бібліотеку до puppet, яка буде налаштовувати gnome. Тобто для того що б по 20 разів не писати здорові кусмани коду, я виніс це у лібу і закинув на github. Пізніше просто її підтягую.

В загальному puppet дає мені декілька переваг:швидке розгортання мого середовища розробки на будь якій машині. А також підтримка однакових середовищ на різних машинах. На робочому комп'ютері у мене такі самі програми і велика частина конфігів як і на домашньому пк.

Python

Переглядаючи статтю побачив що я покищо описую мови які починаються на літеру P. Співпадіння? Не думаю ;) Отже пітон. Хтось каже пайтон, хтось пітон але це суті не міняє. На пітоні я написав 3 плагіни для різних програмульок. Про все попорядку.

Є така класна програма як terminator. Я ії використовую замість стандартного терміналу. І мені він дуже подобається. На сервері часто запускаю консольні скрипти і бачу у виводі час у форматі unixtimestamp. Появилась ідея: виділяєш стрічку і у термінаторі тобі показується цей час у нормальному форматі дати. Взяв і написав плагін. Ще одна прога - kupfer. Я мабуть приділю ій окрему замітку. Для неї я також нафігашив плагін. Круто коли до програм можна легко дожати свій функціонал.

Ще не втомились?

Java

Ось ми і добрались до монстрів у світі мов. З джавою я колись дуже і дуже давно знайомився але якось не склалось. А от недавно, коли мені стало не вистачати функціоналу в штормі, я вирішив написати свої що ..... правильно - плагіни )

Phphstorm дуже наворочена система, але я її підкорив. Хоч деякі фішки ще хочу реалізувати, але в загальному я реалізував те що хочу.Трохи про плагіни. Є прості і примітивні а є модний і наворочений. Прості це всякі GOTO, completion, references. Тобто хелпери які допомагають економити час при розробці системи. А є один яким я пишаюсь це fastcoddy. За допомогою нього я менше стукаю по клавіатурі але коду получається чимало. Я готую цілу статтю про це досягнення, тому скажу тільки декілька слів: економія часу, круті live templates

C

Сішка це та мова з якою я хотів познайомитись. Просто люблю коли кожна мова займає свою нішу (коли пишуть десктопні проги на рнр мене аж воротить ).

Була задача - прога який ловить натиснення клавіш і виконує якусь команду. Я цього добився. Так як в даній статті я це не зможу описати - підписуйтесь на блог і ви обов'язково прочитаєте як я це зробив. До речі фотки другої клавіатури яка є у мене на столі і повністю функціонує є у моєму твіттері @funivan

CSS

Трохи вас розгружу і скажу чесно. Контрибюшини є, але їх дуже мало. Це переважно правки якогось CSS коду у темі для сайтів. Раніше я в CSS шарив досить сильно, а зараз якось все менше і менше.

JavaScript

Джаваскріпт крута штука як не крути. Особливо коли появилась nodejs яваскріпт взлетів. Правда це така наворочена і заплутана мова що взагалі =) Ситуація така сама як і з javascript - чогось окремого немає. Просто

Shell

Шел дуже і дуже потужна фішка. Раніше я на ньому багато фігашив коду. А від того часу як я його нафігашив - пишу зараз менше. Усе майже є готове. Тільки деколи якісь сніпнети які потрібні.

ПС. Всі нормальні блоггери роблять звіт перед новим роком, а я підводжу підсумок у кодінгу весною :d Надіюсь вивчити трохи більше Java, познайомитись з rust і вникнути у ruby.

Коментарів: (1)

  1. Юрко
    Юрко 2015-08-16 12:12 Відповісти
    Провокативна назва статті. Знання мови програмування на рівні "якось писав якусь програму шукаючи шматки коду в Інтернеті" це не знання. Заявленої цілі (Я також знаю і інші але дуже сильно я у них не втягуюсь і я розкажу чому. Також опишу чому варто вивчати і інші мови і як вони мені допомагають.) так і недосягнуто.