LINUX.ORG.RU

Серия статей «По языку в день» от Андрея Шитова

 ,


5

3

Андрей Шитов, известый Perl-разработчик, решил в этом году попробовать как можно больше языков программирования и поделиться опытом с читателями.

Языки программирования восхитительны! Ты влюбляешься в какой-либо язык как только напишешь несколько тестовых программ. Чем больше изучаешь, тем лучше чувствуешь сам язык и идеи положенные в его фундамент.

В рождественском календаре этого года (с 1 по 24 декабря), я буду ежедневно публиковать статьи повествующие об основах различных языков программирования: один день - один язык. Чтобы сделать обзоры более полезными, я постараюсь придерживаться единого формата и разобрать аспекты языка, необходимые для написания следующих мини-проектов:

  • Hello, World!
  • Функция, вычисляющая факториал рекурсивно или в функциональном стиле
  • Программу, создающую массив объектов и выполняющую полиморфный вызов методов на них
  • Реализацию сонной сортировки (sleep sort). Данный алгоритм не применяется в боевых условиях, но замечательно демонстрирует возможности языка в разрезе конкурентности

Список языков:

  • День 1. TypeScript
  • День 2. Rust
  • День 3. Julia
  • День 4. Kotlin
  • День 5. Современный C++
  • День 6. Crystal
  • День 7. Scala
  • День 8. Dart
  • День 9. Hack
  • День 10. Lua
  • День 11. Raku
  • День 12. Elixir
  • День 13. OCaml
  • День 14. Clojure
  • День 15. Nim
  • День 16. V
  • День 17. Go
  • День 18. Hy
  • День 19. Red
  • День 20. Mercury
  • День 21. Elm

>>> Подробности

★★★★★

Проверено: cetjs2 ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: про ассемблер от T3M4

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

а так, в ассемблер надо вкатываться спокойно, без фанатизма. берёшь какую-нибудь интересную тебе задачу и вперёд, до осуществления мечт. в своё время я делала для себя программу печати картинок на игольчатом принтере. тогда принтеры только появились и печать была очень примитивная. я на ассемблере через управление портами принтера нафигачила прогу для печати картинок. мне тогда было лет 12. но было интересно и я пока её писала много чего изучила. причём совершенно естественным образом, без всякого насилия над организмом :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Это конечно верно, но эта книга может помочь в выборе языка «для души», на котором будет приятно писать различные вещи для себя. И удобный синтаксис тут играет далеко не последнюю роль, а типовые задачи дадут базовое представление о нём.

EXL ★★★★★
()
Ответ на: комментарий от gnu_linux

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

Iron_Bug ★★★★★
()

День 22. Возвращение в уютную комнату с мягкими стенами и отзывчивами людьми с навязчивым сервисом.

Впрочем, наверняка с этого все и началось.

anonymous
()
Ответ на: комментарий от EXL

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от gnu_linux

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от bonta

Куда-то тебя унесло в сторону. Конечно, сырые указатели бывают нужны. Но не в примере автора. Там каноничный случай для unique_ptr, тогда и объекты бы не утекли (если бы он еще учел необходимость виртуального деструктора).

anonymous
()
Ответ на: комментарий от anc

как-то я, будучи на даче, повредила диск: прикручивала его в корпус, а там какой-то штырь оказался в панели и этим штырём сковырнуло несколько smd-элементов. а у меня под рукой только дедовский паяльник на 100 ватт, жало толщиной в палец. дед им вёдра ремонтировал и всякую утварь домашнюю. так я исхитрилась, примотала к нему цыганскую иглу и запаяла элементы взад. ибо надо было очень :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от perl5_guy

Признайся, ты и есть Шитов? Или ты его парень?

anonymous
()
Ответ на: комментарий от Iron_Bug

Нам было проще, тогда ещё и на hex набивали. Поэтому и рассматривать все новые расширения и так далее не вызывают какой-то сильной головной боли. А вот представьте с какогонидь java и на asm.

anc ★★★★★
()
Ответ на: комментарий от gnu_linux

в то время я могла знать других студентов матмеха и кучу местных металистов. ну, может, на первой работе ещё людей. интернета у меня тогда почти не было. на работе сеть была настолько дохлая, что даже аццка едва тянула и тогда я там общалась только с какими-то американцами. но можно было выкачать один файл mp3 за ночь, чем мы и пользовались :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от anc

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от Iron_Bug

я ещё в детстве отказалась от паскаля: ну невозможно на нём в системное программирование. такие страшные конструкции по работе с памятью

А я писал. Но вот только с asm вставками. Ибо точно, полностью невозможно было все что нужно написать на паскале.

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

Так же верно в части потребления ресурсов и скорости. Сам проходил и не раз. Написал на «чем-то» вроде все удобно, красиво, а работает и кушает много. Попробовали другой вариант, в разы быстрее и меньше кушает.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)

21 хеловорлд за 21 день это круто

gnu_linux
()
Ответ на: комментарий от Iron_Bug

Старая схема (ещё времен ссср), иголку к большому жалу. Но ох как не легкая это работа. В вашем случае вариантов косяка не меньше 90%. Молодец!!!

anc ★★★★★
()
Ответ на: комментарий от Iron_Bug

не, я hex-ом тоже пробовала набивать. просто из любопытства.

У меня было не любопытство а журналы Радио и другие техники молодежи :)

тогда ещё вся память была общая

Не обязательно. Знание asm при декомпеляции помогало и для всяких «взломов». Не знаю как у вас, а у нас это были игры, хакнуть что бы было 100500 жизни и так далее и тому подобное. :) Весело было :)

anc ★★★★★
()
Ответ на: комментарий от Iron_Bug

когнитивные способности

мне тогда было лет 12.

Мой максимум познания окружающего мира в этом возрасте - поймать жабу, вставить ей соломинку в зад и как следует надуть.

а так, в ассемблер надо вкатываться спокойно, без фанатизма

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

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

T3M4
()

TCL

Тикля мы уже не увидим, несмотря на экзотику даже?

Android
()

Андрюша похоже забухал на 3 недели...

vasya_pupkin ★★★★★
()

в духе: как написать книгу по программированию, разбираясь в нём на уровне школьника-троечника

anonymous
()
Ответ на: когнитивные способности от T3M4

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

умеющему создавать графонические объекты сейчас больше шансов оставить свой след чем погромисту, а может и бобла больше

anonymous
()
Ответ на: комментарий от Iron_Bug

а я в 12 лет закончила художку

только классическое художественное и академ рисунок, вероятно, слабо вписывается, кроме основ

anonymous
()
Ответ на: комментарий от anonymous

у меня академический рисунок был любимым предметом. помню, как училка по черчению выговаривала мне, что я рисую без линейки. я говорю: у вас к прямой линии претензии есть? нету? вот и нефиг мне указывать, как рисовать линии :) а она, типа: но ты их рисуешь от руки! я говорила: проверяйте линейкой, если вам не нравится. снижать оценку не за что.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

слово графоний вообще мне непонятно и напоминает что-то из химии. в искусстве есть графика. это серьёзная дисциплина и она требует тренировки и навыков. я подозреваю, что под «графонием» подразумеваются дешёвые поделки для игр. и они мне совершенно неинтересны, как и сами игры. я могу нарисовать портрет маслом. могу написать любой софт. но меня никогда не интересовали некреативные однообразные задачи.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

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

anonymous
()
Ответ на: комментарий от anonymous

причём тут бабло вообще? искусство - это мастерство. а поделки для игр - это халтура. это даже на ДПИ не тянет по уровню. а ДПИ считается прибежищем не очень одарённых.

это не искусство. это ремесло и халтура. и это не ценится как произведение искусств. а цены на картины - не в них дело. дело в мастерстве и совершенстве человека.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

овер 99% статических графических объектов что видят повседневно практически все, кроме обычных фоток, это продукт фотомонтажа и объектов созданных во всяких графических редакторах и рисовалках

«искусство»? ну вон пацаны с пещер десятки тысяч лет назад создавали искусство, но тут с ними с навыком рисовать прямые линии от руки соревноваться бесполезно как и с малевичем затушевывающим слово хуй одним цветом

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

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

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

ага, палка-палка-огуречик, вот и вышел человечек, куда уж там простым охотникам. ну каменную бабу может и сделал какой-то калеч

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

в общем-то, тут идёт оперирования эфемерными понятиями вроде «искусство» и «интеллект», поэтому я считаю что спорить тут не о чем, потому что бессмысленно

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

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

anonymous
()
Ответ на: комментарий от Iron_Bug

Когда вы стоите на моем пути, Такая живая, такая красивая, Но такая измученная, Говорите все о печальном, Думаете о смерти, Никого не любите И презираете свою красоту - Что же? Разве я обижу вас?

О, нет! Ведь я не насильник, Не обманщик и не гордец, Хотя много знаю, Слишком много думаю с детства И слишком занят собой. Ведь я - сочинитель, Человек, называющий все по имени, Отнимающий аромат у живого цветка.

Сколько ни говорите о печальном, Сколько ни размышляйте о концах и началах, Все же, я смею думать, Что вам только пятнадцать лет. И потому я хотел бы, Чтобы вы влюбились в простого человека, Который любит землю и небо Больше, чем рифмованные и нерифмованные речи о земле и о небе.

Право, я буду рад за вас, Так как - только влюбленный Имеет право на звание человека.

anonymous
()
Ответ на: комментарий от Iron_Bug

я приделывала какие-то самопальные девайсы к ком-порту

Сколько мультях спалили? :) Хотя это не lpt конечно, но он удобнее был для погромирования :)

я писала свои программы по управлению расширенными функциями видеокарты

Аж всплакнул. Прямая работа с видяхой. Так интересно было.

anc ★★★★★
()
Ответ на: комментарий от anonymous

ну, я не романтик. красотой не обладаю. но чтобы «думать о смерти» - не дождётесь! :) я иногда устаю (а кто нет?). меня бесит то, что происходит в этой стране (и не только в этой). но я понимаю, что всех идиотов в мире искоренить нельзя и сбежать с этой планеты тоже не получится. поэтому я не слишком напрягаюсь по этому поводу.

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

в любовь не верю в принципе. ну, то есть, я понимаю всё про инстинкты и гормоны. но эти процессы интересны только в теории. на практике это слишком уныло. искусство, красота, логика - это в другом измерении.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anc

Сколько мультях спалили?

какое там «спалили». в то время комп стоил как кооперативная квартира. его спалить - в страшном сне не приснилось бы :) lpt, кстати, тоже неплох был. при прямом управлении так вообще милое дело. я уж сто лет lpt не видела. а старые принтеры именно через него подключались.

Прямая работа с видяхой. Так интересно было.

в этом плане нам повезло. у нас был шанс познакомиться с компом на самом непосредственном уровне, залезть в систему, поковыряться в памяти, поуправлять железом без особых заморочек. иногда я думаю, что причина сегодняшней неразвитости программистов кроется в том, что они не видят, как работает система. у них практически нет шанса попробовать что-то самим. с одной стороны, весь код открыт. с другой - ядро стало огромным проектом с немеряным объёмом кода и влезть в это с нуля практически нереально. а в ВУЗах преподают скрипты. и ничего про устройство компа, про процессоры и шины, про прерывания и периферию. потому и падает уровень. с другой стороны, мы не окажемся без работы на пенсии :)

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

какое там «спалили». в то время комп стоил как кооперативная квартира. его спалить - в страшном сне не приснилось бы :)

Я почему так написал. На домашних мы тоже не палили. Ибо вариантов купить новую из разряда «невозможно». А вот позже на работе, охх, кучка молодежи дорвавшиеся до кучи железа, думаю вы представляете как это выглядело. Не одну мультяху спалили «на радостях» исключительно в процессе ыкперементов :)

anc ★★★★★
()
Ответ на: комментарий от anonymous

слух слуха слух.

девочки троллили «мужа подруги» - взывая к его интересу к адюльтеру с каждой но не с ней - и да и не факт что жена(знакомого) будет не первой в случае если «он сам пришёл»

у девочек социалочка эволюционнеей по дефолту.

qulinxao3 ★☆
()
Ответ на: комментарий от Iron_Bug

ща листаю BYTE начиная с 1975 - там реклама теми же словами (управление голосом домом, реалистичность компьютерного изображения, искусственный интеллект и т.п.)

и да микрокомпьютерная заточка на выжимания каждого бита - когда каждый параграф байтов это доллар -

через это понятней становится когда смотришь первый мануал к Тurbo Pacsal от 1983 года -

и отсутствие тех мануалов как и (отсутствие)использования на проф уровне TP7.0 в системе образования 1/6 (1/8) начиная с середины 80ых и по сию ( местами) пору.

адекватность понуждает не везде пипхолить - нес па?

qulinxao3 ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.