Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ruby как язык для обучения программированию, беседа 
V
    Опции темы
Pete
Дата 5.1.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 2
Всего: 12



 Ruby — самый (на мой взгляд, да и не только мой) лучший язык для обучения программированию и написанию скриптов. Он абсолютно бесплатен, занимает настолько мало места, что его можно носить на дискете, несмотря на это обладает огромными возможностями (от создания полноценных оконных приложений до программ, манипулирующих объектами Microsoft Office, например, Excel). Программа на ruby понятна любому, кто хоть как-то знаком с ооп и директивными и декларативными языками. Главный, пожалуй, недостаток — скорость. Но скорость не всегда критична! Порой, затратив уйму времени на какую-нибудь прогу, она, запустившись, проработает доли секунды. Пусть программы на ruby работают дольше, но они ГОРАЗДО быстрее пишутся. Ruby — скриптовый язык.

Естественно, не понять этого без примеров. Вот и они:
Код

# печатает факториал числа
def fact(n)
  n < 2 ? 1 : n*fact(n-1)
end

puts fact(200)

=> 78865786736479050355236321393218506229513597768717326329474253324435944996340
33429203042840119846239041772121389196388302576427902426371050619266249528299311
13462857270763317237396988943922445621451664240254033291864131227428294853277524
24240757390324032125740557956866022603190417032406235170085879617892222278962370
3897374720000000000000000000000000000000000000000000000000

Где еще вы видели, чтобы такое число хранилось в одной целочисленной переменной?
Код

# печатает символы введенного текста в порядке увеличения ascii-кодов через пробелы
puts gets.chop.scan(/./).sort.map{ |x| x += ' ' }.join
 

Это сообщение отредактировал(а) Pete - 10.12.2006, 20:00


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
Void
Дата 5.1.2006, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



Цитата(Pete @ 6.1.2006, 01:49 Найти цитируемый пост)
лучший язык для обучения программированию

По моему скромному мнению, начинать обучение лучше со строго типизированных языков. Но это всего лишь мое мнение smile

Цитата(Pete @ 6.1.2006, 01:49 Найти цитируемый пост)
Где еще вы видели, чтобы такое число хранилось в одной целочисленной переменной?

В Python, LISP, Haskell... дальше перечислять лень. Ruby хороший язык, но длинная арифметика, вшитая в язык - это не самое большое его достоинство smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Pete
Дата 6.1.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 2
Всего: 12



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


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
cardinal
Дата 6.1.2006, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Цитата(Pete @ 5.1.2006, 21:49 Найти цитируемый пост)

Ruby — самый (на мой взгляд, да и не только мой) лучший язык для обучения программированию

ML тоже для таких целей неплох...
http://ru.wikipedia.org/wiki/%D0%A4%D1%83%...%BD%D0%B8%D0%B5


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Cr@$h
Дата 24.8.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41




M
Cr@$h
Тема выделена из обсуждения особенностей Ruby.

PM MAIL ICQ   Вверх
V.A.KeRneL
  Дата 3.12.2006, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 1
Всего: 14



Всем прювет! Желаю поучаствовать в интересной беседе... Такс, с чего бы начить?..

Цитата(Pete @  5.1.2006, 23:49 Найти цитируемый пост)

Код

# печатает символы введенного текста в порядке увеличения ascii-кодов через пробелы
puts gets.chop.scan(/./).sort.map{ |x| x += ' ' }.join



Так, ну, во-первых, это конечно же можно сократить, раз уж автор хочет показать лаконичность всеми нами любимого языка!

Код

puts gets.scan(/./).sort.join(' ')


Цитата(Void @  5.1.2006, 23:53 Найти цитируемый пост)

По моему скромному мнению, начинать обучение лучше со строго типизированных языков. Но это всего лишь мое мнение smile 


Чур и моё тоже! smile Я тоже так думаю. И даже думаю, что начинать надо конкретно с Паскаля. А в качестве дистрибутива брать стандартный «школьный» Turbo Pascal 7.0. Благо он легко доступен в сети.

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

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

Насчёт Руби мне хотелось бы высказаться так, как сделал это насчёт другого не менее известного скриптового ЯП Сузи Роман Арвиевич, работник математического факультета Петрозаводского госудраственного университета, и автор книги "Python", изданной BHV (http://home.onego.ru/~rnd/python): «он может быть хорошим... последним языком.»
Читай бурный обмен мнениями, состоявшийся у одного из моих бывших преподавателей Евгения Александровича Роганова с Романом Сузи: http://www.ctc.msiu.ru/materials/rb-py.php

Цитата(cardinal @  6.1.2006, 03:10 Найти цитируемый пост)

Цитата(Pete @  5.1.2006,  21:49 Найти цитируемый пост)

Ruby — самый (на мой взгляд, да и не только мой) лучший язык для обучения программированию

ML тоже для таких целей неплох...
http://ru.wikipedia.org/wiki/%D0%A4%D1%83%...%BD%D0%B8%D0%B5


Это уж совсем нет, по моему. Мне кажется, что Вы очень давно учились программировать smile и забыли, какой Вы были маленьким, раз говорите, что декларативный язык хорош в качестве первого! Мне представляются совершенно туманными перспективы обучения низкоуровневым ЯП после ML или Haskell. Мой постулат таков: в качестве 1-го языка программирования должен быть избран Pascal, в качестве 2-го -- Ruby или Python!.. Если интересно дальше, то меня вполне устраивает цепочка, избранная а нашем универе (МГИУ, Московский государственный индустриальный университет): 
Код

Ruby -> Java -> C и Assembler -> C++ -> ФП и ЛП (Haskell и Prolog)

Также там куда-то на 2-ом или 3-ем курсе впиндюривается работа с БД на PHP...
А самому на досуге можно (и нужно!) попробовать и другие язычки: *ML, Lisp и т.д.
Мне лично очень интересен Scheme... Но это уже другая история! smile


Это сообщение отредактировал(а) V_A_KeRneL - 11.12.2006, 04:12


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
FunnyFalcon
Дата 5.12.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 27.3.2006

Репутация: 3
Всего: 7



Цитата(V_A_KeRneL @  3.12.2006,  23:51 Найти цитируемый пост)
Ruby -> Java -> C и Assembler -> C++ -> ФП и ЛП (Haskell и Prolog)


Искренне завидую.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1981 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.