Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

Язак программирования. Какой лучше?   Найти похожие ветки 

 
wicked ©   (2005-05-18 17:09) [80]

> GRAND25 ©   (18.05.05 17:00) [73]
хы-хы... для того, чтоб знать его нужность, нужно знать, для чего он используется... в противном случае, каждый раз, когда нужно посортировать массив чего-либо, судорожно искать и реализовывать более-менее эффективный алгоритм... а потом, когда окажется, что связный список был бы лучше, чем массив, наступает ступор - его то тоже надо сортировать... ну и быстродействие - десятки процентов разницы с тем же qsort из стандартного си...
вопросы?...

> Юрий Зотов ©   (18.05.05 16:37) [63]
согласен, можно... но тут поднимаются другие вопросы - насколько быстро можно решить задачу и сколько при этом сделать ошибок... а также желательно, чтобы это было типовое решение, поставленное на поток и не требующее таскания из проекта в проект, правки и отладки модулей, реализующих тот или иной алгоритм...


 
Eraser ©   (2005-05-18 17:11) [81]

GRAND25 ©   (18.05.05 17:06) [78]
о, ну среда там - просто шедевр! Такое впечатление, что совсем убогие ее проектировали...


Да не в этом даже дело... среда на любителя... сишники тоже самое про делфи скажут.

Я имею ввиду редактор форм под .Net! имхо СОДРАНО с делфи почти полностью!
Сравни редактор mfc, .net (msc#) и delphi... mfc явно "выпадает".


 
Юрий Зотов ©   (2005-05-18 17:13) [82]

> Игорь Шевченко ©   (18.05.05 17:03) [76]

> в PL/1 была введена модульность или нет?

На уровне директив Include или препроцессора - была. В том виде, как ее сделал Borland - не было. Это было и не нужно - ведь язык делался под OS 360, а там модульность существовала уже априори, для любых языков и даже для любой их смеси - на уровне объектных файлов и линковщика.


 
GRAND25 ©   (2005-05-18 17:14) [83]


> Я имею ввиду редактор форм под .Net! имхо СОДРАНО с делфи
> почти полностью!


Да видел, содрано конечно. Но что они уже, додрать не могли? Ибо в среде этой дофига вещей есть, которые просто неудобны любому пользователю - пасквилянту или насильнику.


 
DiamondShark ©   (2005-05-18 17:14) [84]


> GRAND25 ©   (18.05.05 17:00) [73]
> DiamondShark, вот скажи, ты STL чем-то мегарулезным и востребованным
> в других языках программирования считаешь? Я - нет.

STL -- хитрая скотинка.
Библиотека стандартных алгоритмов и структур -- штука полезная для любого языка.


> wicked ©   (18.05.05 17:00) [75]

Не хочешь понимать...
Без шаблонов эволюционировать дальше (например, переходить к компонентным средам) можно. А без модульности -- нет.
Шаблоны (в Цплюсном исполнении) вовсе никакая не фундаментальная вещь. Вундаментальная вещь -- обобщённое программирование. А Шаблоны -- её реализация. Кривая, кстати.


 
Eraser ©   (2005-05-18 17:15) [85]

wicked ©   (18.05.05 17:09) [80]
хы-хы... для того, чтоб знать его нужность, нужно знать, для чего он используется... в противном случае, каждый раз, когда нужно посортировать массив чего-либо, судорожно искать и реализовывать более-менее эффективный алгоритм... а потом, когда окажется, что связный список был бы лучше, чем массив, наступает ступор - его то тоже надо сортировать... ну и быстродействие - десятки процентов разницы с тем же qsort из стандартного си...
вопросы?...


Кто спорит... STL весч хорошая, но всё таки чаше всего (я по краней мере) решаю задачи, которые под шаблон не загонишь... ОЧЕНЬ редко надо что-то отсортировать... и то обычно я это делаю при помощи компонента TStringList с пом. вызова 1 единственного метода.


 
boriskb ©   (2005-05-18 17:15) [86]

Игорь Шевченко ©   (18.05.05 17:03) [76]
Я вот совсем забыл - в PL/1 была введена модульность или нет ?


Модульность в PL/I рекламировалась как новомодная фишка. Говорили, что в этом отношении это развитие Алгола.

По сабжу.
Ответ очень простой - надо знать несколько наиболее распространенных языков. И это для меня не обсуждается.  
Допустим, что кто-то в этой ветке оказался наиболее убедительным/красноречивым и автор ветки решил выбрать рекламируемый язык.
Как было сказано в

wicked ©   (18.05.05 16:35) [61]
или 20 человек всё бросят и станут писать на том, на чем пишет новоприбывший сотрудник?... :)


И что он с ним будет делать с этим своим знанием?
Контору по языку искать? Не замучается? :))
И начинать все равно с какого.

PS  Как все-таки бестолковы все холивары! :))


 
Игорь Шевченко ©   (2005-05-18 17:15) [87]

DiamondShark ©   (18.05.05 17:07) [79]


> > в условной компиляции включался
>
> (*долго ругаясь матом*) это и есть нарушение модульности.


А вот я не видел другого пути :)

uses
 ...
{$IFDEF WIN32}
 SysUtils,
{$ENDIF}

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


 
GRAND25 ©   (2005-05-18 17:16) [88]


> STL -- хитрая скотинка.
> Библиотека стандартных алгоритмов и структур -- штука полезная
> для любого языка.


Но это ведь проблема реализации языка, а не самого языка как такового, правда?


 
ящер зеленый   (2005-05-18 17:17) [89]

Удалено модератором
Примечание: AutoModerator


 
Юрий Зотов ©   (2005-05-18 17:18) [90]

> wicked ©   (18.05.05 17:09) [80]

> насколько быстро можно решить задачу и сколько при этом
> сделать ошибок...

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

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

И прекрасно. Разве Паскаль/Дельфи не позволяет так и сделать? Разве VCL - тому не пример?


 
wicked ©   (2005-05-18 17:20) [91]

> DiamondShark ©   (18.05.05 17:14) [84]

> Не хочешь понимать...

понял.... :-Р

> Без шаблонов эволюционировать дальше (например, переходить
> к компонентным средам) можно. А без модульности -- нет.

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

> Кривая, кстати

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


 
Eraser ©   (2005-05-18 17:20) [92]

ящер зеленый   (18.05.05 17:17) [89]

И всё таки соглашусь с мнением которое, по-моему тут уже высказывали!
Кто на чём привык, тот тем и пользуется.

Но прийдёт великий и ужасный Longhorn - ве дружно кинемся C# учить ((


 
wicked ©   (2005-05-18 17:29) [93]

> Юрий Зотов ©   (18.05.05 17:18) [90]

> И прекрасно. Разве Паскаль/Дельфи не позволяет так и сделать?
> Разве VCL - тому не пример?

извините, но не позволяет... сортировать массивы - реализуй алгоритм для данного типа, использовать ООП - не забудь отследить все ссылки на обьект и подмести за собой... почти в каждой функции пиши try-finally-except... рутина не автоматизуется, хотя в 99% случаев могла бы...
VCL не идеал, но очень хороша для своего - построить GUI, абстрагироваться от ввода-вывода (всё TStream вспоминаю)... но как только нужны более-менее сложные структуры данных - всё руками... конечно, можно писать... но почему бы не автоматизировать это?... и тут паскаль держит за руки... крепко...
возможно, я где-то чего-то не дочитал, но вот такое моё мнение после того, как я уже 3 года перешел на билдер...


 
wicked ©   (2005-05-18 17:30) [94]

> Eraser ©   (18.05.05 17:20) [92]
не баись - под .NET"ом есть куча других языков... :)


 
Юрий Зотов ©   (2005-05-18 17:33) [95]

> ящер зеленый   (18.05.05 17:17) [89]

> представлять все как абсолютную истину, на мой взгляд признак
> ограниченности.

Где Вы увидели абсолютную истину - непонятно. Разные люди высказывали разные мнения, вовсе не выдавая их за истину. Я подметил, что мнения эти делятся на две группы, как и высказывающие их, и что между группами мнений и людей наблюдается соответствие. Тоже не выдавая этого за истину. Где же тут абсолют?

> Сходить в обиталище действительно сильных сишников, знающих
> множество тонкостей языка (хорошо знающих и паскаль, на RSDN,
> к примеру) и спросить...

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


 
wicked ©   (2005-05-18 17:43) [96]

имхо, ветку надо закрывать.... а то одно расстройство нервов...


 
Eraser ©   (2005-05-18 17:45) [97]

wicked ©   (18.05.05 17:30) [94]
не баись - под .NET"ом есть куча других языков... :)


Есть... тот же делфи и уже сравнительно давно... только имхо первое время большинство литературы/исходников/примеров будет на C#, так что опять же имхо на до изучать C#... никуда не денишься.


 
wicked ©   (2005-05-18 17:48) [98]

> Eraser ©   (18.05.05 17:45) [97]
зачем так сложно?... есть язык (не си-шарп), есть среда исполнения с библиотекой классов, пиши, как хошь... а ежели будет больше примеров на си-шарп, так знать его в режиме read-only... сейчас такую роль, кстати, играет си (без плюсофф)...


 
Kerk ©   (2005-05-18 17:54) [99]

Eraser ©   (18.05.05 17:45) [97]
только имхо первое время большинство литературы/исходников/примеров будет на C#,


MSDN глянь. кругом VB.NET :(


 
Eraser ©   (2005-05-18 17:56) [100]

Kerk ©   (18.05.05 17:54) [99]

... и даже в Delphi 2005 ;-))

Так ещё бы -- 85% прог в штатах создаются на VB!


 
raidan ©   (2005-05-18 17:59) [101]

>Eraser ©   (18.05.05 17:56) [100]
Ну не на мощном же строителе писать :)


 
Юрий Зотов ©   (2005-05-18 18:08) [102]

Удалено модератором
Примечание: AutoModerator


 
Андрей Жук ©   (2005-05-18 18:22) [103]


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

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


 
VEG ©   (2005-05-18 18:23) [104]

Для обычного программинга под Винду - Delphi, C++ Builder - само то.


 
Андрей Жук ©   (2005-05-18 18:23) [105]


> Разве в Си не надо освобождать указатели? Или там есть
> статические объекты? - так ведь я тоже могу сказать,
> что это отстой, потому что памяти жрет немеряно, когда
> надо и не надо

STL сам уберет за собой мусор. Освобождать список самостоятельно не нужно.


 
wicked ©   (2005-05-18 18:29) [106]

Удалено модератором
Примечание: AutoModerator


 
Igorek ©   (2005-05-18 18:34) [107]

BREAK! BREAK!

---
Тут (http://delphimaster.net/view/14-1116313083/) уже приводили ссылку на статью http://www.osp.ru/pcworld/2005/05/060.htm.
Сорри, но позволю себе процитировать:
Америка все настойчивее диктует миру свои заблуждения, всеми правдами и неправдами вытесняя блестящие достижения европейской школы компьютерных наук.

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

Профессор Никлаус Вирт (Niklaus Wirth, р. 1934, Швейцария), автор языков Паскаль, Modula-2 и Oberon, так характеризует эту проблему [10]: “Очевидно, перед нами в высшей степени устойчивый порочный круг: учителя не могут изменить свои курсы, т.к. они должны привлечь и доставить удовольствие студентам; студенты требуют то, что практикуется в промышленности; а индустрия применяет и воспроизводит то, чему обучены ее работники. Этот замкнутый круг напоминает ситуацию, описанную мной во введении к сообщению о Паскале в 1970 г.: вузы стремятся учить тому, что требует индустрия, а в индустрии практикуется то, чему ее работники выучились в вузах… Только университетские преподаватели в состоянии сломать этот порочный круг. Это сделать нельзя ни быстро, ни легко. Но если это окажется невозможным, то что-то, видимо, глубоко неправильно с преподавателями и их академической свободой. Они просто обязаны подняться до роли лидеров.”

Далее он продолжает: “Порочный круг был однажды разорван, когда распространился Паскаль. При поддержке коллег-единомышленников и в упорном противостоянии рутинерам, Паскаль распространился в учебных заведениях и проник в индустрию. Это произошло, несмотря на могучую конкуренцию со стороны индустрии и других больших организаций, в соперничестве с языками PL/1, Algol 68 и Ada. Однако наследники Паскаля, существенно его превосходившие, Modula-2 и Oberon, не получили должного внимания среди преподавателей, и сами пали перед лицом самого недостойного из соперников — Си. Самого недостойного, т. к. в этом языке были нарушены все открытые к тому времени принципы серьезного программирования... Только за одни эти пороки он заслуживает изгнания из учреждений образования. Однако сей уродливый синтаксис был целиком воспроизведен в языке Java, принятие которого академическим сообществом произошло, отчасти благодаря этой преемственности”.
...
[10] Вирт Н. Преподавание информатики: потерянная дорога. — Международная конференция по преподаванию информатики ITiCSE, 24 июня 2002 г. — Пер. Ф. В. Ткачева. http://www.inr.ac.ru/ ~info21/greetings/ wirth_doklad_rus.htm

---

BOX!!!
:^)


 
$SerG$ ©   (2005-05-18 18:45) [108]

Великий и могучий РУССКИЙ ЯЗЫК!!!


 
raidan ©   (2005-05-18 18:45) [109]

>Igorek ©   (18.05.05 18:34) [107]
Особенно меня порадовало упоминание про "уродливый синтаксис" :)
Полностью поддерживаю :)


 
VEG ©   (2005-05-18 18:49) [110]

Да нормальный синтаксис у этого Си.. На вкус и цвет товарищей нет. В любом случае, Паскаль и Си - языки одного класса.


 
fghfg   (2005-05-18 19:08) [111]

> Особенно меня порадовало упоминание про "уродливый синтаксис"
можно пример такового?


 
fghfg   (2005-05-18 19:20) [112]

Удалено модератором


 
Юрий Зотов ©   (2005-05-18 19:24) [113]

> Андрей Жук

> всего лишь нужно написать свою функцию сравнения.
> STL сам уберет за собой мусор

Причем именно это, конечно же, и есть то, чего нельзя сделать на Паскале. Может, Вам автора STL на этот счет процитировать?

Извините, Вы не забыли, о чем вообще идет разговор?

> wicked ©   (18.05.05 18:29) [106]

1. Если Вы не путаете языки и библиотеки, то почему:

а). Вы сетуете на отсутствие сортировки произвольного типа данных в языке Паскаль (см. [93])?

б). В этом разговоре Вы вообще упоминаете STL и Boost, не имеющие к нему ни малейшего отношения?

2. Насчет шаблонов и обобщенного программирования - да, здесь можно согласиться, хотя и с натяжкой. Поскольку на сегодня в Delphi этого действительно нет - но это вовсе не означает, что нельзя сделать то же самое на языке Паскаль.


 
wicked ©   (2005-05-18 19:33) [114]

> Юрий Зотов ©   (18.05.05 19:24) [113]

> 1. Если Вы не путаете языки и библиотеки, то почему:
>
> а). Вы сетуете на отсутствие сортировки произвольного типа
> данных в языке Паскаль (см. [93])?

ссылочку, пожалуйста на мои слова, которые так можно истолковать... там ни слова не было про это...

> б). В этом разговоре Вы вообще упоминаете STL и Boost, не
> имеющие к нему ни малейшего отношения?

как примеры библиотек (а не фишек языка и не compiler magic), позволяющих автоматизировать рутину...

> 2. Насчет шаблонов и обобщенного программирования - да,
> здесь можно согласиться, хотя и с натяжкой. Поскольку на
> сегодня в Delphi этого действительно нет - но это вовсе
> не означает, что нельзя сделать то же самое на языке Паскаль.

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


 
raidan ©   (2005-05-18 19:39) [115]

>fghfg   (18.05.05 19:08) [111]
Аццкая клоунада!

#include <stdio.h>

main(t,_,a)
char *a;
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n"+,#"/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/"r :"d*"3,}{w+K w"K:"+}e#";dq#"l q#"+d"K#!/\
+k#;q#"r}eKK#}w"r}eKK{nl]"/#;#q#n"){)#}w"){){nl]"/+#n";d}rw" i;# ){n\
l]!/n{n#"; r{#w"r nc{nl]"/#{l,+"K {rw" iK{;[{nl]"/w#q#\
n"wk nw" iwk{KK{nl]!/w{%"l##w#" i; :{nl]"/*{q#"ld;r"}{nlwb!/*de}"c \
;;{nl"-{}rw]"/+,}##"*}#nc,",#nw]"/+kd"+e}+;\
#"rdq#w! nr"/ ") }+}{rl#"{n" ")# }"+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == "/")+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=="/"||main(0,main(-61,*a, "!ek;dc \
i@bK"(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}


 
Kerk ©   (2005-05-18 19:42) [116]

А у слона толще


 
raidan ©   (2005-05-18 19:46) [117]

Удалено модератором


 
Юрий Зотов ©   (2005-05-18 19:56) [118]

> wicked ©   (18.05.05 19:33) [114]

> ссылочку, пожалуйста

Уже указывал - [93].

> как примеры библиотек

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

> и сетую на то, какие силы на это надо затратить и сколько
> ошибок сделать (лично мне)...

Опять же, Паскаль в этом не виноват, это просто не реализовано (возможно, лишь пока?). Пожалуй, я все же процитирую автора STL, Алекса Степанова - его слова, ИМХО, в этом плане очень показательны: "I can say it in C++, I can say it in Ada, I can say it in Scheme. I adapt myself to the language, but the essence of what I am trying to say is language independent. So far, C++ is the best language I"ve discovered to say what I want to say".

Обратите внимание - Алекс говорит о том, что C++ был для него наилучшим языком для реализации его задумок, но он же сам говорит и о том, что сами его задумки не зависят от языка, а выбранный им язык не был единственно возможным. И если бы Алекс вдруг решил реализовать STL на Паскале - в какую сторону тогда повернулся бы наш разговор?
:о)


 
Андрей Жук ©   (2005-05-18 20:03) [119]

Pascal не поддерживает шаблонов, потому Степанов его и не выбрал.


 
wicked ©   (2005-05-18 20:29) [120]

> Юрий Зотов ©   (18.05.05 19:56) [118]

> > ссылочку, пожалуйста
>
> Уже указывал - [93].

ну и какие мои слова заставили Вас сделать такой вывод?... дословно, если не трудно...

> > как примеры библиотек
>
> Извините, но почему бы тогда не привести в пример еще и
> индийских слонов? Они тоже не имеют к разговору никакого
> отношения, так что ничуть не хуже пример бы был.

не надо передергивать, ок?... всё таки мы о программировании говорим, а не на базаре...


> Опять же, Паскаль в этом не виноват, это просто не реализовано
> (возможно, лишь пока?). Пожалуй, я все же процитирую автора
> STL, Алекса Степанова - его слова, ИМХО, в этом плане очень
> показательны: "I can say it in C++, I can say it in Ada,
> I can say it in Scheme. I adapt myself to the language,
> but the essence of what I am trying to say is language independent.
> So far, C++ is the best language I"ve discovered to say
> what I want to say".
>
> Обратите внимание - Алекс говорит о том, что C++ был для
> него наилучшим языком для реализации его задумок, но он
> же сам говорит и о том, что сами его задумки не зависят
> от языка, а выбранный им язык не был единственно возможным.
> И если бы Алекс вдруг решил реализовать STL на Паскале -
> в какую сторону тогда повернулся бы наш разговор?

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



Страницы: 1 2 3 4 5 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.74 MB
Время: 0.019 c
1-1116511807
Ada
2005-05-19 18:10
2005.06.06
Как мне открыть файл PDF из своего приложения?


1-1116594321
Erik1
2005-05-20 17:05
2005.06.06
Как учесть выравнивание в записи при переносе даных?


1-1116631879
Masta Hookah
2005-05-21 03:31
2005.06.06
Canvas


4-1109896516
Шуршик
2005-03-04 03:35
2005.06.06
Запуск приложений из сервиса с правами не LocalService


3-1114504248
vitge
2005-04-26 12:30
2005.06.06
Установка Базы даных с использованием БДЕ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский