avva: (Default)
[personal profile] avva

Еще раз перечитал все советы по поводу того, какие языки программирования стоит изучить, и сам об этом подумал. Сформировался шорт-лист (правда, он не очень шорт).

Примерно так: Python, Ruby, Lua, Clean, Self, J, Erlang. Эти языки хотелось бы знать и понимать в первую очередь. Во вторую очередь, пожалуй, войдут D, OCaml, Io, Beta.

В прошлом году я изучил два новых для себя языка: Haskell и Lisp (кстати, Haskell надо обновить в какой-то мере). Если в этом году выйдет, скажем, шесть из вышеперечисленных, будет неплохо, думаю.

Вот и займемся. Начну прямо сегодня с Lua, потому что он такой компактный и легкий.

Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2007-01-04 10:23 am (UTC)
From: [identity profile] moon-aka-sun.livejournal.com
> Вот и займемся. Начну прямо сегодня с Lua, потому что он такой компактный и легкий.

Это примерно как путешествовать по Израилю - "А что вы планируете делать после обеда?"

Date: 2007-01-04 10:32 am (UTC)
From: [identity profile] cmm.livejournal.com
> Начну прямо сегодня с Lua

ты ж вроде Scheme и Javascript уже знаешь?
плюнь и сбереги себе полчасика. :)

Date: 2007-01-04 10:34 am (UTC)
From: [identity profile] avva.livejournal.com
Javascript не знаю. Забавно, кстати.

Date: 2007-01-04 10:36 am (UTC)
From: [identity profile] avva.livejournal.com
С Lua интересен не столько сам язык, сколько, во-первых, почитать имплементацию (она ж маленькая), во-вторых, неплохо бы понять, как именно выглядит встраивание его в качестве скрипт-языка в какое-то приложение - мне это ясно только в очень общих чертах, а у них наверняка примеры есть.

Date: 2007-01-04 10:37 am (UTC)
From: [identity profile] cmm.livejournal.com
угу.
реально интересный язык, в отличие от.

Date: 2007-01-04 11:12 am (UTC)
From: [identity profile] plakhov.livejournal.com
зря вы так

Date: 2007-01-04 11:21 am (UTC)
From: [identity profile] cmm.livejournal.com
многовато языков развелось.

Date: 2007-01-04 11:35 am (UTC)
From: [identity profile] dzz.livejournal.com
Ой, коллега, погоня за языками - это, IMHO, разновидность технологического фетишизма ;)

В мире не так много языков, различающихся парадигмой. Фактически, знание С/С++/Java , Lisp, Форта и Пролога исчерпывает технологическую новизну. Детали неиспользуемых языков всё равно выветриваются через пару лет.

Date: 2007-01-04 11:36 am (UTC)
From: [identity profile] dzz.livejournal.com
Угу. Я уже давно считать бросил :)

Date: 2007-01-04 11:41 am (UTC)
From: [identity profile] plakhov.livejournal.com
Все верно, Lua - не язык, а технология.
В языке единственное, что интересно, это то, что структуры, объекты, словари и массивы - одно и то же. А вот технология для определенного круга задач имхо уникальная.

Чтобы Lua не "выучить", а на самом деле grok'нуть, лучше всего представить себе, что имеешь дело с неким устройством, обладающим 4М памяти, не очень быстрым, крайне изощренным технически, соединенным кабелем с РС (на котором и идет собственно разработка), и изначально сопровождаемым единственным компилятором языка, который можно обозначить как "С+" - с одним плюсом :) И понять, где и как на таком устройстве Lua может использоваться в качестве второго языка.

Например, способность Lua подменять код во время исполнения с сохранением состояния идеальна для 1) экспериментов, 2) отладки. Какие задачи требуют больше экспериментов и отладки, нежели оптимизаций? Например, UI без поддержки OS

Ситуация не вымышленная, кстати, это устройство называется Nintendo DS.

Date: 2007-01-04 11:49 am (UTC)
From: [identity profile] plakhov.livejournal.com
Это так, но Lua для ряда задач по своим свойствам уникальна. Разработка компьютерных/видео игр, например. К сожалению, понять это, просто поглядев на сам язык, нельзя :)

Date: 2007-01-04 11:56 am (UTC)
From: [identity profile] avva.livejournal.com
Я бы к этому списку добавил как минимум Smalltalk и Haskell. Но в принципе вы правы. С одной стороны. С другой - недостаточно просто головой понимать парадигму, полезно в ней руками покопаться на примере двух-трех реально полезных языков, тогда начинаешь действительно что-то понимать.

Date: 2007-01-04 11:56 am (UTC)
From: [identity profile] avva.livejournal.com
Плюс есть вопрос просто интеллектуального наслаждения от изучения непонятных и незнакомых вещей.

Date: 2007-01-04 11:58 am (UTC)
From: [identity profile] cmm.livejournal.com
сам проект таки вполне интересен, тут я спорить не буду.
язык только новый выдумывать было незачем, могли бы вот хоть тот же жабаскрипт таким образом реализовать — у него, между прочим, независимая от реализаций спецификация есть.
(данный коментарий выглядит нытьём, потому что является им.  эндемическая каша в голове мирового программизма, выражающаяся в том что эти люди при любой возможности путают спецификацию с имплементацией, является моей любимой мозолью.  я вообще запретил бы "языки" с одной-единственной имплементацией и без независимого стандарта, ибо нефиг :)).

Date: 2007-01-04 12:05 pm (UTC)
From: [identity profile] plakhov.livejournal.com
будете смеяться, но Lua старше!
Lua 1993 года, JavaScript afaik 1995го

действительно, зачем было язык новый выдумывать, ведь могли бы lua прикрутить?.. :)

Date: 2007-01-04 12:06 pm (UTC)
From: [identity profile] dzz.livejournal.com
Вот с этим - полностью согласен ;)

Date: 2007-01-04 12:07 pm (UTC)
From: [identity profile] cmm.livejournal.com
до какого года Lua был языком мастер-проекта никому не известных чуваков из Бразилии?
публикация публикации рознь.

Date: 2007-01-04 12:10 pm (UTC)
From: [identity profile] avva.livejournal.com
Javascript вообще-то тоже был малополезной херней года так до 1999 как минимум.

Date: 2007-01-04 12:12 pm (UTC)
From: [identity profile] avva.livejournal.com
Я недавно случайно увидел у какого-то англоязычного блоггера (который как раз пишет про математику и CS) обсуждение того, насколько он гик, и там как раз было насчет того, что он оценивает кол-во языков, которые знает, в 150 примерно, и длиннейший список основных, по парадигмам. Вот это (я тогда подумал), действительно перебор.

Date: 2007-01-04 12:14 pm (UTC)
From: [identity profile] avva.livejournal.com
А вы не могли бы привести несколько простых примеров, которые как раз отвечают на эти вопросы? :) ну т.е. где и как он может использоваться в качестве второго языка, в данном случае. Как происходит состыковка Lua с основным языком/приложением, в котором он бежит? Каким образом программа на Lua влияет на основное приложение и получает от него информацию - через какие-то договоренные глобальные переменные? callback-и?

Date: 2007-01-04 12:15 pm (UTC)
From: [identity profile] cmm.livejournal.com
малополезной хернёй с официальной спецификацией, и сидящей в каком количестве копий браузеров по всему миру? :)

Date: 2007-01-04 12:16 pm (UTC)
From: [identity profile] dzz.livejournal.com
У меня всего около 30, из них используемых - штук пять. Не гик ;)

Date: 2007-01-04 12:18 pm (UTC)
From: [identity profile] avva.livejournal.com
Знаешь, официальная спецификация малополезной херни - тоже малополезная херня, хоть и официальная :)

Date: 2007-01-04 12:20 pm (UTC)
From: [identity profile] cmm.livejournal.com
есть такое слово, "момент".
он нетрудно просчитывается на основании всяких наблюдаемых признаков.  особенно постфактум. :)

Date: 2007-01-04 12:23 pm (UTC)
From: [identity profile] avva.livejournal.com
Я не буду пытаться считать свои, т.к. все равно все забывается через несколько лет :)
Page 1 of 4 << [1] [2] [3] [4] >>

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11 12 1314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 04:24 pm
Powered by Dreamwidth Studios