LINUX.ORG.RU

А как-нибудь без слова "замечательного" можно было обойтись? Так, в порядке предоставления возможности "свободным" линуксоидам иметь собственное мнение... А то ведь скажут кому-нибудь про "замечательность", а чем он так замечателен объяснить будет затруднительно.

Bluezman
()

Malenkaya remarka - istinno OO-yazyka ne sushestvuet kak ne sushestvuet OO-modeli (v otlichii skazhem ot relyacionnoi) odnako est tri priznaka na osnovanii kotoryh yazyk mozhno nazvat podderzhivayushim OO-model -
inkapsulyaciya nasledovanie polimorfizm. Opredeleniya abstraktny v principe mozhno i C nazvat OO-yazykom.

master
()

Ну и кто-нибудь скажет - чем он так хорошь
и где его применить можно ?

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

master, OO-язык этот такой язык, на котором _удобно_ писать программу, спроектированную по принципам OOD. Никто не спорит, что можно писать объектно-ориентированную программу на Си, но из этого вовсе не следует объектная-ориентированность самого языка.

maxcom ★★★★★
()

Если я правильно помню дебаты начала 90-х, то многие в то время склонялись к существованию двух парадигм языков програмирования, поддерживающих объекты (не считая общих разговоров про наследование, полиморфизм, инкапсуляцию и т.п.):
1. объекно-ориентированные - языки, которые оперируют свойствами КЛАССОВ объектов. Т.е. свойства объектов являются одинаковыми в пределах одного класса и неизменяются в процессе жизни объекта (класса).
2. объектные - языки, которые оперируют свойствами КОНКРЕТНОГО объекта, которые можно определять через классы или самостоятельно. При этом два объекта одного класса могут иметь разные свойства или изменять их во время жизни.

Например, С++, Java, C# относятся к первой группе, a Ruby - ко второй.

За счет этого использование Ruby позволяет сделать много "вкусностей" недоступных обычным ОО языкам. Например, порождать экземпляры объектов класса, обладающие уникальными свойствами "непредусмотренными" при создании класса. Это позволяет использовать объекты, у которых заранее неизвестны все свойства или изменять свойства объекта во время жизни.

dmitriku
()

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

anonymous
()

>Например, С++, Java, C# относятся к первой группе, a Ruby - ко второй.

A JavaScript? Он может спользовать и Java-класы (которые ты относишь к первой групе) и создавать свои объекты, которые можно изменять во время жизни.

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

2dmitriku 

>За счет этого использование Ruby позволяет 
>сделать много "вкусностей" недоступных обычным ОО языкам

Я совершенно не знаком с обсуждаемым языком.
И пока не знаю стоит ли с ним знакомиться.

Приведите пожалуйста пример того, 
что можно сделать на Ruby и нельзя сдалать на С++.

Только по возможности приведите пожалуйста пример,
где те же самые конструкции (как в С++) не были 
спрятаны за синтаксисом.

Заранее благодарен.

Bear

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

>Приведите пожалуйста пример того, >что можно сделать на Ruby и нельзя сдалать на С++. >Только по возможности приведите пожалуйста пример, >где те же самые конструкции (как в С++) не были спрятаны за >синтаксисом. Я не специалист, но по-моему, постановка вопроса крайне неправильная. [наверно] на любом языке можно написать любую программу. Вопрос только в удобстве,(которое выражается в "заточенности" синтаксиса под конкретные задачи). Например, символьные вычисления проще писать на лиспе, но ничего не мешает, если очень хочется,и на бейсике. Еще пример, один мой друг, (весьма грамотный программист со стажем) утверждал, что он писал на ассемблере объектные программы, и что любой достаточно крупный проект реально - обьектный. Любая процедура, или функция, в той или иной мере - инкапсуляция. Вобщем - все это только спор о терминах, которые пока действительно не формализованны. И спорить надо не о языках , а о терминах.

Я выразил только мое личное мнение. PS Как слово "заточенность" перевести на нормальный русский?

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

anonymous (*) (2001-09-25 12:24:00.0)

На откровения не претендую.

Мне нравится С/С++.
И не потому, что "нравится", 
а потому, что дает возможность делать то, 
что хочется сделать. 
Он просто удобный.
С/С++ позвлоляет программировать в _любом стиле_.
Все определяется лишь мастерством, которого сложно достичь.
И чем больше узнаешь язык, тем больше в нем красоты.
( не "религиозной", а функциональной)
В нем есть для этого средства.
Он не ограничен, и ни под что не "заточен".
Точнее "заточен" под то, чтобы быть заточенным под что угодно.
Всякий другой из известных мне языков-
то прячет операции, то просто их не позволяет, 
то является надстройкой над чем-то, что
удобнее всего реализуется на C/С++.

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

Но если кто-то изобретает языки - попутного ветра.
Это полезно, только каждый раз возникает вопрос:
_Зачем?_
И на этот вопрос не всегда есть ответ отличающийся от 
"Мне это нравится" или "Ща кому нить впарим и бабки сделаем".

Должна реализовываться парадигма.
Всякий из распространенных ныне языков имеет 
адресата. Если этого нет - язык умирает.

Из удачных языков - PHP

Sorry за флейм. Настороение :-)

Bear

anonymous
()

2Bluezman: Под словом "замечательный" я имел в виду не "самый лучший из лучших, подходящий для любого применения", а скорее "достойный быть замеченным" :)

2Bear: "Я совершенно не знаком с обсуждаемым языком. И пока не знаю стоит ли с ним знакомиться."
Познакомится стоит хотя бы для того, что бы узнать стоит ли его изучать.

Я первый раз прочитал про Руби в Компьютерре: http://www.computerra.ru/offline/2000/355/3841/
Это сподвигло меня начать его изучать.

К стати это скриповый язык и сравнивать его корректней не с С++, а с Перлом и Питоном. Такие сравнения можно увидеть на сайте. Но лучше почитать описание языка и сравнить самому.

Вот, к стати, еще один урл: http://www.rubycentral.com/

"А кто может обзор сделать, какие либы под него есть
и в каком они состоянии, конкретно меня интересует доступ к базам
данных и gui рисовать."
В принципе я знаю только то, что мне нужно, а именно, что есть либы для работы с LDAP, mSQL, mySQL, Postgres, ODBC, DBI. Из GUI - Tk, GTk, QT.

В принципе, для полного списка смотреть можно сюда: http://www.ruby-lang.org/en/raa.html

sem
() автор топика

Когда я выбирал себе религию, я смотрел на Ruby, это что-то среднее между Python и Perl; по возможностям эти 3 языка одинаковы, а программа на Ruby выглядит отстойно. Я не понимаю, зачем писать на Ruby.

Python -- rulez forewer! :-)

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