У меня возник несколько необычный (и может быть странный вопрос). Можно ли и если можно то как классифицировать языки программирования? Скажем, какие отнести к группе С/С++? Какие еще можно сделать группы? Меня интересуют все языки программирования (включая скриптовые и такие как InstallShield Setup Script), распространенные и неочень. Может где-нибудь это уже есть?
Здравствуйте, Reunion, Вы писали:
R>У меня возник несколько необычный (и может быть странный вопрос). Можно ли и если можно то как классифицировать языки программирования? Скажем, какие отнести к группе С/С++? Какие еще можно сделать группы? Меня интересуют все языки программирования (включая скриптовые и такие как InstallShield Setup Script), распространенные и неочень. Может где-нибудь это уже есть?
Здравствуйте, Reunion, Вы писали:
R>А если их классифицировать по синтаксису?
Ты имеешь в виду подобие синтаксиса языков?
Или схожесть приёмов кодирования?
Здравствуйте, ON, Вы писали:
ON>Если средний язык имеет 100 страниц документации, то существует 2^(2^(8*2000*100)) классификаторов таких языков. ON>Тебе все изложить?
Нет. Только один. А именно подобие синтаксиса языков. На данный момент это мне больше всего нужно.
Здравствуйте, Reunion, Вы писали:
R>Здравствуйте, AndreyFedotov, Вы писали:
AF>> Ты имеешь в виду подобие синтаксиса языков? AF>> Или схожесть приёмов кодирования?
R>Я имею в виду подобие синтаксиса языков. На данный момент это мне больше всего нужно.
Тогда с моей точки зрения — наиболее часто используемые языки можно грубо классифицировать так: С-подобные: C, C++, C#, Java, JavaScript Basic подобные: Visual Basic, VBA, VBScript, Install Shield Script, большинство инсталляционных скриптов ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки
Подчёркиваю — классификация не полная, и только на основе подобия синтаксиса.
AF>ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки
Да. Особенно сложный синтаксис у языка LISP. %) Можно сдуреть от скобочек...
Здравствуйте, AndreyFedotov, Вы писали:
AF>ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки
Да какой он сложный? Где вы это с Владом увидели-то? Ключевых слов даже в развитых языках меньше, чем в каком-нибудь С. + несколько ключевых конструкции для работы со списками и все. Он наоборот намного проще, чем у других языков.
Здравствуйте, Quintanar, Вы писали:
Q>Здравствуйте, AndreyFedotov, Вы писали:
AF>>ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки
Q>Да какой он сложный? Где вы это с Владом увидели-то? Ключевых слов даже в развитых языках меньше, чем в каком-нибудь С. + несколько ключевых конструкции для работы со списками и все. Он наоборот намного проще, чем у других языков.
По моему сложный наворот из скобок гораздо сложнее для восприятия, чем синтаксис С++ (если им не злоупотреблять)
Потом — я подчёркиваю — это моё ИМХО. Не более того.
Впрочем — если есть что ответить Петру по сути — предложить классификацию по синтаксису.
Скобки, опять же, есть в немерянных количествах только в Scheme или Lisp.
Так они и отличаются — 1) Scheme, Lisp 2) ML группа (SML, OCaml, MoscowML, ...) 3) Haskell (он хоть и близок к ML, но довольно специфический).
Еще есть более экзотические языки типа FP.
А вообще забыли логические языки — Пролог и Mercury.
Здравствуйте, AndreyFedotov, Вы писали:
AF>Тогда с моей точки зрения — наиболее часто используемые языки можно грубо классифицировать так: AF>С-подобные: C, C++, C#, Java, JavaScript AF>Basic подобные: Visual Basic, VBA, VBScript, Install Shield Script, большинство инсталляционных скриптов AF>ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки AF> Подчёркиваю — классификация не полная, и только на основе подобия синтаксиса.
Так, это то, что нужно. А можно подробнее про ФЯ языки? Что там с ассемблером(и), фортраном, php, perl ...
Здравствуйте, Quintanar, Вы писали:
Q>Скобки, опять же, есть в немерянных количествах только в Scheme или Lisp.
Q>Так они и отличаются — 1) Scheme, Lisp 2) ML группа (SML, OCaml, MoscowML, ...) 3) Haskell (он хоть и близок к ML, но довольно специфический). Q>Еще есть более экзотические языки типа FP.
Q>А вообще забыли логические языки — Пролог и Mercury.
А если теперь один длинный список составить:
1. C, C++, C#, Java, JavaScript ...
2. Pascal ...
3. VisualBasic (я бы еще отдельно выделил VB.NET), VBScript, VBA, Install Shield Script (хотя спорно) ...
4. ASM (TASM, MASM, FASM, его там еще)
5. SQL ...
6. Fortran ...
7. ...
Дополните этот список, пожалуйста. (Perl, PHP, Scheme, Lisp, ...)
Здравствуйте, Reunion, Вы писали:
R>Привет всем!
R>У меня возник несколько необычный (и может быть странный вопрос). Можно ли и если можно то как классифицировать языки программирования? Скажем, какие отнести к группе С/С++? Какие еще можно сделать группы? Меня интересуют все языки программирования (включая скриптовые и такие как InstallShield Setup Script), распространенные и неочень. Может где-нибудь это уже есть?
R>Заранее спасибо.
Здравствуйте, Reunion, Вы писали: R>А мне нравится. Только куда деть следующие: SQL, PHP, Perl, Eiffel, Python, Cobol, Fortran, Algol, HTML, XML, Mercury, Scheme, Lisp. Предлагаю продолжить дерево.
Ну он же сказал — в отмирающие.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Reunion, Вы писали: R>>А мне нравится. Только куда деть следующие: SQL, PHP, Perl, Eiffel, Python, Cobol, Fortran, Algol, HTML, XML, Mercury, Scheme, Lisp. Предлагаю продолжить дерево. S>Ну он же сказал — в отмирающие.
Э-э-э, погоди. Я не согласен SQL, PHP, Perl, HTML, XML да и некоторые другие не являются отмирающими. Так что продолжим дерево...
Здравствуйте, Reunion, Вы писали: R>Э-э-э, погоди. Я не согласен SQL, PHP, Perl, HTML, XML да и некоторые другие не являются отмирающими. Так что продолжим дерево...
А зачем? В настоящее время известно около тысячи языков программирования и неисчислимое множество диалектов. Кстати, споры о том, относится ли HTML и XML к ЯП все еще идут. Как насчет расширить список такими "языками", как RTF, TEX, MIDI, WAV, ZIP, XLS...? Тебе жизни не хватит, чтобы их просто перечислить.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Reunion, Вы писали:
R>Здравствуйте, AndreyFedotov, Вы писали:
AF>>Тогда с моей точки зрения — наиболее часто используемые языки можно грубо классифицировать так: AF>>С-подобные: C, C++, C#, Java, JavaScript AF>>Basic подобные: Visual Basic, VBA, VBScript, Install Shield Script, большинство инсталляционных скриптов AF>>ФЯ языки: у них довольно сложный синтаксис, не похожий (как правило) на другие языки AF>> Подчёркиваю — классификация не полная, и только на основе подобия синтаксиса.
R>Так, это то, что нужно. А можно подробнее про ФЯ языки? Что там с ассемблером(и), фортраном, php, perl ...
Про ФЯ языки лучше всего спросить Gaperton'а или INTP_mihoshi. Я в них разбираюсь гораздо меньше.
А про ассемблер я действительно забыл.
Ассеблеры (по синтаксису) разделяются на несколько крупных групп — классические (большинство ассемблеров CISC & RISC процессоров), а так же специализированные: VLIW подобные, DSP и т.д.
Здравствуйте, Reunion, Вы писали:
R>А мне нравится. Только куда деть следующие:
R>SQL
Создать раздел декларативные языки, SQL засунуть в них в подветку "Языки запросов к данным". А R# переместить в подветку.
А вообще возможно я не прва и нужно просто создавать несколько независимых иерархий так как я по сути смешал несколько деревьев в одно.
Так что нужно говорить о деревьях признаков, а потом назначать языка конкретные признаки. Так Окамл-у можно дать признак и фунционального и императивного одновременна. Но тут уже нужно выделять доминирующие признаки.
R>PHP, Perl, Eiffel, Python,
Засунуть в подраздел интерпретируемые ИЯ.
R> Cobol, Fortran, Algol,
В "устаревшие".
R> HTML, XML,
Декларативные языки разметки. К программированию вообще по бльшому счету отношения не имеющие.
R> Mercury, Scheme, Lisp.
Чистейшие представители ФЯ.
R> Предлагаю продолжить дерево.
Я как бы дал идею дерева. За его составление я браться не хотел.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Reunion, Вы писали:
R>PHP, Perl, HTML,
Ну, вот эти я бы с большим удовольствием списал. Хотя по факту это и не так, но оно того заслуживает. Языки уроды с кучей проблем.
ПХП неудачный представитель ИЯ. Он и интерпретатор по сути, и имеет крайне-кривую поддержку ООП.
Перл — это вообще язык издевательства. К проблемам ПХП еще прибавляется ужасная читаемость (особенно в купе с регэкспами). Я его называю write-only-язык.
HTML — убогий не расширяемый язык. XHTML и XML его с успехом заменяют.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sinclair, Вы писали:
S>А зачем? В настоящее время известно около тысячи языков программирования и неисчислимое множество диалектов. Кстати, споры о том, относится ли HTML и XML к ЯП все еще идут. Как насчет расширить список такими "языками", как RTF, TEX, MIDI, WAV, ZIP, XLS...? Тебе жизни не хватит, чтобы их просто перечислить.
Что-то в тысячи не верится. Сотни скорее. Хотя статистики я не видел.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eugals, Вы писали:
E>Лучше не дерево, а граф.
Это граф порождения/взаимствования идей. Классификации как таковой там нет. Но то что одно дерево не отражает сути — это врено. Я склоняюсь к нескольким деревьям классифицирующим признаки. Тогда конкретным языкам можно будет дать набор признаков из этих классификаций и располжить признаки по степени значимости. Вот тогда получится достойная классификация.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VladD2 -> "Re[14]: Классификация языков программирования" :
V> Перл — это вообще язык издевательства. К проблемам ПХП еще V> прибавляется ужасная читаемость (особенно в купе с регэкспами). Я его V> называю write-only-язык.
Кхм..кхм.. я бы попросил не путать уровень разработчиков и язык.
Вот реальный кусок из проекта — базовый класс для виджета на основе шаблона
Compositor. И если это write-only — ну тогда я не знаю, что сказать
package HTML::Widget;
use strict;
use Data::Dumper;
use base qw( Class::Accessor::Sens );
use Carp;
use UNIVERSAL ();
use warnings;
__PACKAGE__->mk_accessors(qw(
name
_widgets
));
sub new{
my ($class,%args)=@_;
my $self=$class->SUPER::new({%args});
return $self;
};
sub add_widget{
my ($self,@widgets)=@_;
my @exist_widgets=$self->get_widgets;
foreach my $widget (@widgets){
Carp::croak "Addading widget isn't an object"unless(UNIVERSAL::isa($widget, 'UNIVERSAL'));
Carp::croak 'Addading widget has to inherit from the HTML::Widget
class'unless ($widget->isa(__PACKAGE__));
no warnings;
push (@exist_widgets,$widget);
};
$self->_widgets(@exist_widgets);
};
....
sub apply_to_all_widgets{
my ($self,$sub)=@_;
foreach my $widget ($self->get_all_widgets){
$sub->($widget);
}
};
sub _before_draw{};
sub _after_draw {};
sub draw{
my ($self)=@_;
my $html=$self->_before_draw;
foreach my $widget ($self->get_widgets){
next unless $widget;
$html.=$widget->draw;
};
no warnings;
$html.=$self->_after_draw;
return $html;
};
sub _draw_tag{
my ($self,$tag,@attr)=@_;
my $html="<$tag ";
foreach my $attr (@attr){
$html.=sprintf(' %s="%s"',$attr,$self->$attr) if ($self->$attr);
};
return $html.='>';
}
'hrg'
V> HTML — убогий не расширяемый язык. XHTML и XML его с успехом заменяют.
Ну да. XHTML — это избыточность. Особенно весело для диалапщиков. XML? Без
XLST его юзать для веб нафиг не здалось. А много ли верстальщиков знают
XSLT?
Yury Kopyl aka hrg | http://id.totem.ru | "бысто сп..ил и ушел — называется
нашел..."
Здравствуйте, VladD2, Вы писали:
R>>PHP, Perl, Eiffel, Python, VD>Засунуть в подраздел интерпретируемые ИЯ.
Разве Eiffel интерпретируемый язык? Я с вас уже худею...
И вообще, как отличить интерпретируемый язык от компилируемого? Многие интерпретируемые языки с большим успехом компилируются.
R>> Cobol, Fortran, Algol, VD>В "устаревшие".
Интересно, а как фортран оказался среди "устаревших" языков? Даже microsoft до сих пор выпускает компилятор фортрана. Не говоря уже о интеле и HP. Может фортран устаревший только потому, что вы на нем не пишете? Или средний возраст тех, кто на нем пишет больше среднего возраста тех, кто пишет на C#?
R>> Mercury, Scheme, Lisp. VD>Чистейшие представители ФЯ.
Mercury — язык логического программирования. Как и пролог, если вам это о чем-то говорит.
Ну а схема и лисп хоть и очень похожи скобочками, на самом деле совершенно разные языки.
Чем дальше в лес, тем сильнее у меня складывается впечатление, что вы дилетант. Вместо того, что бы заниматься демагогией, лучше бы сначала разобрались в предмете, который обсуждается.
Здравствуйте, Nick_, Вы писали:
R>>>PHP, Perl, Eiffel, Python, VD>>Засунуть в подраздел интерпретируемые ИЯ. N_>Разве Eiffel интерпретируемый язык?
Eiffel я откровенно говоря просто не заметил. Уж больно он хорошо в ряд встал. Но по его поводу я вообще ничего не могу путного сказать.
N_>Я с вас уже худею...
Ну, хоть какая-то польза.
N_>И вообще, как отличить интерпретируемый язык от компилируемого? Многие интерпретируемые языки с большим успехом компилируются.
Отсуствием статической типизации и рассчетом на постоянные рантайм-проверки. Что до большого успеха, то что-то этого успеха не видать. Видимо он большой по сравнению с другими интерпретаторами и с потимизирующим компилятором плюсов тягаться не в силах.
N_>Интересно, а как фортран оказался среди "устаревших" языков?
Как язык он марально устарел уже очень давно. Живет за счет того, что к нему привязано много консервативного народа (для которых программирование вообще вторично), и из-за того, что имеется куча библиотек. Используется он в основном в разных научных нассчетах, а они давно не являются передовым краем.
N_> Даже microsoft до сих пор выпускает компилятор фортрана.
Да? Ну, вот тебе поплярная ссылочка: http://msdn.microsoft.com/ найди на этой странице хотя бы слово о Фортране. Даже на богом забытый Фокс можно найти ссылку. А на Формтран только в поиске и все ссылки о том как на каком-нить Ваксе с С++...
N_> Не говоря уже о интеле и HP.
Ну, о НР точно лучше не говрить. А интел выпускает пока.
N_> Может фортран устаревший только потому, что вы на нем не пишете?
Может. А может потому что на нем вообще ничего кроме научных рассчетов не пишится. И потому что пишится их все меньше и меньше.
N_> Или средний возраст тех, кто на нем пишет больше среднего возраста тех, кто пишет на C#?
Боюсь, что он больше 50.
N_>Mercury — язык логического программирования.
Возможно.
N_> Как и пролог, если вам это о чем-то говорит.
Самую малсть...
- Вы случайно не еврей?
— Вы знаете? Совершенно случайно...
N_>Ну а схема и лисп хоть и очень похожи скобочками, на самом деле совершенно разные языки.
Может они и разные но относятся к функциональным. Тут конечно уже кто-то конечно говорил, о том что все в мире относительно, в том числе и классифкации, но все же.
N_>Чем дальше в лес, тем сильнее у меня складывается впечатление, что вы дилетант.
Чем дальше в лес тем больше у меня складвается впечатление, что когда у людей кончаются аргументы, то они переходят на личности. В том числе очень часто начинаются обвинения в делтанстве. При этом периодически выдающие перлы достойные звания заслуженного ламера.
N_> Вместо того, что бы заниматься демагогией, лучше бы сначала разобрались в предмете, который обсуждается.
Да в том, что мне нужно было я разбирался. Конечно я с дуба не рухнул учить все подряд языки программирования. Те же Алгол и Кабол я вообще "на картинках" только видел. Так что несомненно во многих областях я делатент. Вот только что это подчеркивать? Не думаю, что тут есть хотя бы один человек действительно изчивший все упомянутые языки и технологии. Вон те "горячие сторонники ФЯ" когда говрят о дотнете, то такоей бред порой несут, что смешно становится. Что бы им не скачать, не разобраться? Ведь это не экзотика какая. А то лучший варинат INTP_mihoshi, который хоть кое-как поглядел. Так что все эти обвинения в делетанстве ни что иное как попытка возвысить себя в чужих глазах, а возможно и в своих.
В общем, поищи более весомые аргументы, чем переход на личности.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Nick_, Вы писали:
N_>> Не говоря уже о интеле и HP. VD>Ну, о НР точно лучше не говрить. А интел выпускает пока.
А какие проблемы с HP?
Собственно, именно ему достался по наследству старый M$-овский Fortran PowerStation (вернее сначала он достался DEC, который потом достался Compaq, так и до HP дошло , но это уже детали), каковой они с успехом и развивают потихоньку...
Здравствуйте, eugals, Вы писали:
E>А какие проблемы с HP?
Да нет с ним проблем. Как с неуловимым джо. Помнишь почему его кникто поаймать не может?
E>Собственно, именно ему достался по наследству старый M$-овский Fortran PowerStation (вернее сначала он достался DEC, который потом достался Compaq, так и до HP дошло
Ну, вот видишь какую правдивую информацию только что тут вещал компетентный Nick_.
E>, но это уже детали), каковой они с успехом и развивают потихоньку...
Да развивать можно что угодно. Только современным язык от этого не станет.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>Да развивать можно что угодно. Только современным язык от этого не станет.
Бывают языки на которых не пишут и для которых не пишут компиляторы
Бывают языки на которых пишут, но для которых уже не пишут компиляторы
Бывают языки на которых пишут и для которых пишут компиляторы (С++, фортран)
Почему С++ не устаревший, а фортран устаревший я не понимаю. Видимо это твое мнение. Тогда так и пиши.
Здравствуйте, eugals, Вы писали:
E>А какие проблемы с HP? E>Собственно, именно ему достался по наследству старый M$-овский Fortran PowerStation (вернее сначала он достался DEC, который потом достался Compaq, так и до HP дошло , но это уже детали),
Здравствуйте, Nick_, Вы писали:
VD>>Да развивать можно что угодно. Только современным язык от этого не станет. N_>Бывают языки на которых не пишут и для которых не пишут компиляторы N_>Бывают языки на которых пишут, но для которых уже не пишут компиляторы N_>Бывают языки на которых пишут и для которых пишут компиляторы (С++, фортран) N_>Почему С++ не устаревший, а фортран устаревший я не понимаю. Видимо это твое мнение. Тогда так и пиши.
Фортран устарел потому-что родился очень давно и не претерпел серьезных изменений. Пишут на нем еденицы. А вот на С++ толпы. Чтобы тебе это стало отчетливо понятно я создал голосование: На каких языках вы программируете или хотите программировать?
Здравствуйте, desperado_gmbh, Вы писали:
_>Здравствуйте, eugals, Вы писали:
E>>Собственно, именно ему достался по наследству старый M$-овский Fortran PowerStation (вернее сначала он достался DEC, который потом достался Compaq, так и до HP дошло , но это уже детали), _>Теперь он достался Intel _>http://www.intel.com/software/products/compilers/fwin/
Хм, и правда
_>Насколько я понял, они выкинули оттуда ядро и поставили вместо него свой Intel Fortran Compiler.
точно.
Но HP из своего краника эту же жидкость тоже разливать не бросает, хоть (с марта) и с органичениями:
We wish to announce that as of March 13th 2004, Compaq Visual Fortran Professional Edition will no longer be available for sale by Hewlett-Packard. We are taking this step because CVF Professional incorporates technology and libraries from HP partners that will no longer be available for integration into the product.
This in no way affects the sale of Compaq Visual Fortran Standard Edition. CVF Standard will continue to be available.
E>We wish to announce that as of March 13th 2004, Compaq Visual Fortran Professional Edition will no longer be available for sale by Hewlett-Packard. We are taking this step because CVF Professional incorporates technology and libraries from HP partners that will no longer be available for integration into the product.
E>This in no way affects the sale of Compaq Visual Fortran Standard Edition. CVF Standard will continue to be available.
E>
Это называется дохлих не мрущий.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Reunion, Вы писали:
R>>А если теперь один длинный список составить:
VD>А надо не список, а дерево составлять. Будет примерно так:
skipped VD>в общем, как-то так...
Ну я бы не стал однозначно так запихивать Java и C# в ветку Си-подобных.
У C# корни уходят в Pascal куда более глубже чем в С.
От С там практически пожалуй только синтаксис и остался, и еще пожалуй несколько элементов от стиля.
Не может человек(Хайлсберг) всю жизнь создававший TurboPascal и Delphi построить язык глубоко пронизанный идеями C.
Примерно таже фигня и с Java.
Для сомневающихся можно рекомендовать почитать серию статей Богатырева других товарищей.
Сейчас не могу назвать точно что какого автора
"Java-Мир языков программирования"
"Java Гадание на кофейной гуще"
"Java критическая оценка"
"Java на марше"
"Летопись языков Паскаль"
"Летопись языков Си"
"Летопись языков Си++"
"Паскаль сегодня"
"Эволюция современных языков программирования"
"История Pascal и Delphi.htm"
"Сравн ОО языков-Java, C++, Object Pascal.html"
При желании могу дать точные линки.
На машине только индекс, сами статьи на компакте.
Успехов!
C уважением, Алексей.
------------------------------------------------
Хороших %s не бывает — бывает не худший вариант.
VD> Используется он в основном в разных научных нассчетах, а они давно не являются передовым краем.
Ну-ну рисовать окошки — это передовой край , а численные расчеты нет
Здравствуйте, little_alex, Вы писали:
VD>> Используется он в основном в разных научных нассчетах, а они давно не являются передовым краем. _>Ну-ну рисовать окошки — это передовой край , а численные расчеты нет
Понимаю, что это может казаться не справидливым, но всем управляет рынок и его законы.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.