Що мені дали різні мови програмування

Опубліковано: 2008-12-23   22:51:53

WorkПрактично тиждень тому я писав про причини, що змушують мене продовжувати вивчення мов програмування. А сьогодні хочу коротко розповісти про те, що я виніс з кожної з мов, з якими мені довелось зіткнутись.

Першою мовою програмування в моєму житті стало Logo. Фактично ця маленька але досить потужна та цікава мова розкрила переді мною цей цікавий світ, з яким я стикаюсь кожного дня. Саме ця мова дала мені зрозуміти що це таке, навчитись вигадувати та реалізовувати прості алгоритми за допомогою списків, дала розуміння операторів, процедур, функцій, рекурсії. А чого тільки коштує "черепашка"

Далі в моєму житті з'явився Pascal. Традиційна мова для навчання в нашій країні. Завдяки цій мові я зрозумів, що таке типи та змінні, як це співвідноситься з розташування даних в пам'яті комп'ютера, навчився працювати з показчиками, а разом з тим самостійно навчився створювати списки, черги, дерева, стеки.

Потім в моє життя прийшло низькорівневе програмування. Асемблер, системні функції спочатку MS Dos, а потім і WinAPI. Для всього цього я використовував зв'язку asm + Pascal. Чого тільки коштувала спроба цілком переписати модуль graph для Pascal. І спроба була не провальною - дійшов до функцій зафарбовування областей, а потім торкнувшись WinAPI відмовився від подальшого розвитку ідеї.

А потім були C та С++. Синтаксис цих мов здався мені лаконічнішим, логічнішим, близьким. Виявилось, що можливості контролю за будь чим, наявні в асемблері, можна доволі ефективно суміщати з конструкціями високого рівня. Та й класи були потужнішим інструментом за те ООП, яким воно було в Pascal.

Prolog став для мене вікном у світ не імперативних мов програмування. Теж чудовий досвід, цікавий підхід до програмування, що базується на математичній логіці, та гарна вправа для розуму.

Java. Завдяки цій мові я зрозумів, що таке справжнє ООП, саме тут я почав думати про проектування. Шляхом безлічі помилок я почав розуміти, вивів для себе декілька шаблонів розробки. Не хвилини не жалкую, що півтора роки я працював з Java.

PHP. Багато в мене неприємних почуттів викликало знайомство з цим інструментом. Після логічних та структурованих С/С++/Java, ця мова здалась мені повною нісенітницею - жодної системи імен функцій, відсутність нормального ООП та багатьох інших речей.

Проте наступне знайомство, а саме Ruby та framework Ruby on Rails дали мені зрозуміти свобода та простота можуть бути корисними. Взагалі чудова мова, про те в мене з нею якось не склались стосунки. Не знайшов тоді собі роботи для Ruby, запропонували зробити проект на php і я знову повернувся туди, однак вже з новим поглядом на php: при нормальному підході будь-яка мова програмування може бути доволі гнучкою, а проекти прозорими, структурованими та здатними до розширення. Інша справа в тому, що одні мови намагаються тримати програміста в рамках написання якісного, прозорого, стандартизованого коду, та максимальна "ступінь прозорості" коду обмежується мовою.

Ну і ось тепер Python. Теж чудова мова, яка мені дуже сподобалась. Фактично близька за лаконічністю до Ruby. Програми схожі більше на якийсь псевдокод (з позитивного боку) - практично відсутні зайві конструкції, добре видно сам алгоритм. Мова вчиться легко, є дуже потужною. А версія 3 обіцяє внести досить серйозні корективи стосовно деяких операторів, дещо зайве відкинути та додати нові можливості, що будуть корисними у проектуванні (наприклад, необов'язкова типізація, спрощене створення декораторів замість патерну декоратор).

А що буде далі? Хто його знає. Можливо час познайомитись з Haskel чи Erlang...

Дякую всім за увагу!

Коментарі: 8
 

Коментарі:

virua2008-12-25 11:40:06 :

Я починав вчити програмування з Бейсіка в школі. Правда, комп там був лише один (чи два) і то у вчительки. Тому програмували ми в зошиті, а синтаксис перевіряла вчителька ;) (хіба не кумедно).

З того досвіду я нічого не почерпнув. Тай, чесно кажучи, тоді бажання програмувати в мене не було взагалі.

Згодом в університеті нас вчили програмувати на Паскалі (стандартно). Стало цікавіше. З часом перейшли на Delphi.

І лише тоді для мене від обов'язку програмування почало перетворюватись в добровільну справу.

Там з'явилась Java, яку я вже встиг закинути. От, зараз бавлюсь в JavaScript, PHP.

Можливо далі буде :)

 
GrAndSE2008-12-28 14:41:29 :

А чом так обійшлись з Java? ;)

 
virua2008-12-28 14:59:17 :

Не знайшов застосування у веб-сфері. А звичайні програми вже десь 2 роки, як не пишу :)

 
virua2008-12-28 15:09:41 :

Якщо можна, GrAndSE, дам пораду щодо роботи вашої CMS. Спробуйте реалізувати таку фішку як "підписка на коментарі до посту", (яка є реалізована в якості плагіну на WordPress блоґах і не лише на них), щоб легше було слідкувати за діалогом.

 
excieve2008-12-29 00:50:51 :

Раджу якось глянути на Erlang - неймовірно цікава штука. Оскільки маєте досвід із Прологом, то має бути легше у вивченні Ерланґу. Пів-року тому мав робочий досвід із ним - це було весело:)

Щодо Пітона - респект:) До речі, декоратори у вигляді конструкції мови присутні ще з версії 2.4.

 
excieve2008-12-29 00:54:10 :

Зробіть, будь ласка, більш розумний валідатор URL у коментах. Коли у URLі вже присутній "http://", рушій все-одно додає його у початок строки.

 
ss2009-01-05 17:38:58 :

правду говоришь - Logo - это вообще весчЬ тем более еще в школе как она рулила...теперь конечно java, и кстати python тоже четкий, пока мало пробовал но мне понравился...

 
GrAndSE2009-01-06 11:51:51 :

Excieve, знаю про цю проблему "валідації". Спочатку зробив нерозумний варіант, тепер от все ніяк не можу нормально вирішити цю проблему, бо не можу себе змусити її вирішувати :(

В Python 3.0 синтаксис здається змінився в кращий бік - тепер все пишеться однієї аннотацією. Чи то я неуважно читав і такі моєливості присутні в 2.4+?

virua, як тільки доберусь до блога, одразу впишу такий функціонал - всі можливості скористатись для цього новорічними святами та вихідними дякуючи провайдеру я прогавив :( Ну нічого, час обов'язково знайду :)

 

Додати коментар

user

email

url

text

Повідомляти про новікоментарі