|
|
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Gluk (Kazan) wrote: > STL и Boost в СТАНДАРТЕ языка, вот что плохо. Внесение библиотек в > стандарт мешает их развитию. Да дело не в этом. А в том, что во-первых, перед внесением в стандарт надо 20 раз хорошо подумать, продумать всё. А с STL-ем конкретно это явно не получилось. И во-вторых, вся история развития С++ до STL-я шла совсем в другом направлении, не в направлении обобщённого программирования. А в направлении compile-time и run-time полиморфизма. Кстати, RTTI в том же стандарте ввели, если не ошибаюсь, что и STL. Т.е. теперь получается, что в С++ есть два альтернативных и плохо друг с другом сочетающихся подхода к решению проблем -- ОП и ООП (посмотрите boost graph например, ООП там и не пахнет, хотя казалось бы сам Бог повелел). И что с этим далее делать (хотя уже давно делают, конечно)? Есть куча программ, написанных в ООП стиле. На, как правило, достандартных проприетарных библиотеках. И бусты с стлями, с другой стороны. Либо всё переписывать под стл и буст, а это не вдруг, либо плюнуть на новые возможности и делать всё по старинке. В итоге программисты на С++ разделяются на две части -- либо забивают на всё новомодное ОП и остаются в рамках С++ 90-х годов 20 века, либо, кто помоложе или побезрассуднее, бросаются всё переписывать на STL и буст, сломя голову. В общем, ВОТ ЭТО -- действительно проблема в С++, а заголовки, не заголовки -- это всё туфта. ДА, НО! если stl и boost шлифовлись годами, но нововедения в яве и дотнете появляются раньше, чем их отладят и проверят. ВОТ ЭТО ПРОБЛЕММА, а не stl и boost. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:51:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Алексей К wrote: > Да ни в чём. :-) Просто согласился с *Fixin* в том, что ручное описание > метаданных - это плохо. Из-за того, что в программу добавляется > некоторая избыточность. Да нет там никакой избыточности. в сипп есть незначительная избыточность, но по сравнению и явой или дотнетом (в котором даже константа является объектом, с нехилым размером) не говоря уже о борланде. вот кстати первый пример из серии, почему нельзя делать автоинклюды (auto-using). борланд то мертв. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:53:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcGluk (Kazan)eee-pcнапример пролог или лисп проще и быстрей решают свои задачи эта за счет чего, позвольте поинтересоваться ??? эээ. ты видимо еще не понял. для тех кто в танке, находящемся в танке: КАЖДЫЙ ЯЗЫК ДЛЯ СВОИХ ЗАДАЧ. лисп решает генетические алгоритмы и многое другое. я как то писал на прологе взлом простых паролей. пролог делал это в сотни раз быстрее, чем перебор си. С этого места подробнее :) Ты уверен, что алгоритмы перебора в prolog и Си были одинаковы ? (иллюстрации в листингах не помешают). Не надо рассказывать про чудеса. Программы на прологе и лиспе работают МЕДЛЕННЕЕ, но для некоторых задач писать на них ПРОЩЕ чем на C++ Так что не надо бултыхать воздух :) чудес не бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:54:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) wrote: > vector<bool> тоже ? > идиотские нагромождения функторов, которые в итоге получаются БОЛЬШЕ по > объему кода чем банальный цикл выполняющий тоже самое ТОЖЕ ??? Да, абсолютно согласен. Я вот только что, попрограммировав на лиспе, переключился (не специально, так получилось) на его аналог на С++ в виде STL и BOOST. Очень разительное отличие, я вам скажу. Если в CL сделано почти всё для УДОБСТВА программиста, то в STL и BOOST сделано почти всё, чтобы ему было НЕУДОБНО, и чтобы он побольше писал. Не, ну чудес не бывает. С++ - не динамический язык и не функциональный, не предназначен он для функционального и обобщённого программирования. Другой язык для этого нужен. Поэтому я думаю, что перспектив в развитии С++ нет, если он будет оставаться в рамках совместимости. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:55:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Тут следует заметить, что каждый может написать свой вектор, если не нравится стандартный. Подумай вот над чем: Нужен ли этому каждому STL-совместимый вектор ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:56:21 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)С этого места подробнее :) Ты уверен, что алгоритмы перебора в prolog и Си были одинаковы ? (иллюстрации в листингах не помешают). Не надо рассказывать про чудеса. Программы на прологе и лиспе работают МЕДЛЕННЕЕ, но для некоторых задач писать на них ПРОЩЕ чем на C++ Так что не надо бултыхать воздух :) чудес не бывает а с чего ты взял, что у меня пролог был перебором? и насчет МЕДЛЕНЕЕ тоже не надо. простой пример. (правда может меня на ерланг занесло) вычислите 1000! короче, вы поняли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:56:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoШутник, чем это ява вдруг полуверсией стала? Правда я её использую больше для серверных нужд, а не для интерфейса, ну дык а интерфейс я на С++ делаю дотнет летом ковырну малость, возможно будет возможность подхалтурить на нём, не хочу упустить эту возможность. Но своё пишу только на Жава и С++, хотя я никогда не брезгую новый язык изучить. Интерфейс я не стану делать на дотнете, т.к. не хочу упускать возможность запуска на *nix платформах, но при этом мне нужна мощная 3D-графика, а в этом вопросе я дотнету и жаве как-то не доверяю. если в целом, то дотнет создавался с целью вытеснения явы. учитывая величину микрософта над саном, дотнет "круче". Микрософт мелковат, он лишь на одной платформе сидит устойчиво, Сан свою жаву на все платформы разом двигает. Я не говорю что вендекапец, но я слишком уважаю никсы, чтобы игнорировать их поддержку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:56:35 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Да дело не в этом. А в том, что во-первых, перед внесением в стандарт надо 20 раз хорошо подумать, продумать всё. А с STL-ем конкретно это явно не получилось. я знаю :( политика с одной стороны, игры гигантов с другой и только мы посередине ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:58:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc wrote: > еще раз для тех кто в танке. > сипп, ява и дотнет ДЛЯ РАЗНЫХ ЗАДАЧ. Да ничего подобного. Все три - универсальные языки программирования, применяются для решения самых различных задач. Именно поэтому ты кстати их и упоминаешь вместе. Ну, может быть не ты, а мы тут все. Про FOXPRO например тут никто не писал, хотя на нём тоже можно многие из тех ппрограмм, что на этих трёх пишутся, написать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:00:17 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoeee-pcXDiaBLoА что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. видел я вашу яву. навключали в стандарт хер значет чего. а как поняли, что плохо получилось, стали включать еще и еще. получилось хер значет что. почему вы думаете дотнет создали? что бы избавиться от неиспользуемого "многообразия" и прочей тупизны явы. ява разрабатывалась как вполне хорошее средство, вот только не получилась, или много от нее хотели. не получилось превзойти сипп. Получилось вполне хорошо, а депрекейтед можно не использовать. я как то работал с 1.5 и надо было собрать на 1.6 и 1.4. НИХЕРА. куча ошибок, на исправления 1.6 только два дня ушло (прога - 7к) ЧТО ЭТО ЗА ЯЗЫК, в котором две соседние версии не совместимы ??? О да, видел такое, там в программе использовалось как название переменной, ключевое слово, введённое после версии 1.4 видимо, не помню какое слово, но мне вздумалось скомпилировать под 1.6, и не получилось... Переделывать не стал, мне не больно надо было. Ну дак а что, я не понимаю, одни возопят про С++, что в его стандарте всё засохло и зачерствело, другие жалуются что в Яве наоборот всё течёт и меняется... Так а чего вы хотите, то или другое? Или какие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:02:13 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Тут следует заметить, что каждый может написать свой вектор, если не > нравится стандартный. Безусловно. Но стандартный вектор нужен, чтобы все пользовались именно им, а не писали свой. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:02:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcGluk (Kazan)С этого места подробнее :) Ты уверен, что алгоритмы перебора в prolog и Си были одинаковы ? (иллюстрации в листингах не помешают). Не надо рассказывать про чудеса. Программы на прологе и лиспе работают МЕДЛЕННЕЕ, но для некоторых задач писать на них ПРОЩЕ чем на C++ Так что не надо бултыхать воздух :) чудес не бывает а с чего ты взял, что у меня пролог был перебором? и насчет МЕДЛЕНЕЕ тоже не надо. простой пример. (правда может меня на ерланг занесло) вычислите 1000! короче, вы поняли А с чего ты взял, что тоже НЕЛЬЗЯ написать на C++ и оно не будет там работать быстрее ??? Не путай теплое с мягким ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:02:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc wrote: > ДА, НО! если stl и boost шлифовлись годами, но нововедения в яве и > дотнете появляются раньше, чем их отладят и проверят. ВОТ ЭТО ПРОБЛЕММА, > а не stl и boost. STL годами не шлифовался, насколько я знаю. В этом-то и проблема. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:04:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcMasterZiv Алексей К wrote: > Да ни в чём. :-) Просто согласился с *Fixin* в том, что ручное описание > метаданных - это плохо. Из-за того, что в программу добавляется > некоторая избыточность. Да нет там никакой избыточности. в сипп есть незначительная избыточность, но по сравнению и явой или дотнетом (в котором даже константа является объектом, с нехилым размером) не говоря уже о борланде. вот кстати первый пример из серии, почему нельзя делать автоинклюды (auto-using). борланд то мертв. Но дело его живёт! Я конечно не фанат Борланда и его поделок, но работать с ними приходится. Вчера вон книгу принесли, по Билдеру 2007, порылся в инете, а там уже и 2009 в продаже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:05:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLo Тут следует заметить, что каждый может написать свой вектор, если не нравится стандартный. Подумай вот над чем: Нужен ли этому каждому STL-совместимый вектор ? Нужен, пишите, не нужен не пишите. Всё просто. Над чем подумать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:07:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc wrote: > а с чего ты взял, что у меня пролог был перебором? и насчет МЕДЛЕНЕЕ > тоже не надо. простой пример. (правда может меня на ерланг занесло) > вычислите 1000! короче, вы поняли Ну и ? там главное - мемоизацию применить, язык там ни при чём. А табличные реализации функций ещё во времена С придумали. Пролог, кстати, встроенную мемоизацию не предполагает, т.е. не гарантирует, на сколько я знаю. Поэтому это тебе повезло наверное, что твоя реализация её поддерживала, и только. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:08:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv XDiaBLo wrote: > Тут следует заметить, что каждый может написать свой вектор, если не > нравится стандартный. Безусловно. Но стандартный вектор нужен, чтобы все пользовались именно им, а не писали свой. Это понятно, но что теперь поделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:10:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Нужен, пишите, не нужен не пишите. Всё просто. Над чем подумать то? Я тебя уверяю, ДУМАТЬ всегда полезно Просто про это очень часто забывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:11:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZivТак ладно, что предлагаете-то ? Конкретно и по пунктам. Как заменять будем заголовочные файлы ?Я то откуда знаю? Это не моя забота. Добавить в *.obj информацию о типах, али ещё как... eee-pcАлексей КЯ лиш привёл пример, к чему может привести Ваша концепция отсутствия reference-ов. В принципе, то что Вы предлагаете уже существует в каком-то виде в C# + Visual Studio. Я набираю имя класса - IDE предлагает добавить соответствующий using. Разумеется, поиск производится среди библиотек, подключенных к проекту. ты хотя бы примерно представляешь себе цену вот этих using ? нормльно это звучит так: ты пишешь имя класса ПОЛЬНОСТЬЮ, со всеми naespace. и кто тебе мешает в сипп использовать using ? только в сипп этот using убытков не дает, а в дотнете из-за него много проблемм. в частности проще (без using) сделать нельзя. ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста.Ну что Вы, я не против namespace-ов. Я лиш привёл пример "из жизни VS IDE". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:19:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLo Нужен, пишите, не нужен не пишите. Всё просто. Над чем подумать то? Я тебя уверяю, ДУМАТЬ всегда полезно Просто про это очень часто забывают Я думаю постоянно, я спрашиваю над чем мне сейчас подумать рекомендуете??? авторПодумай вот над чем: Нужен ли этому каждому STL-совместимый вектор ? Я откуда знаю? Пусть каждый и думает. А я спокойно переживу и без vector<bool>, и без собственной версии вектора. Я просто говорю про то, что если кому-то что-то не нравится, то никто же не заставляет. Всегда есть другие выходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:19:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcАлексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) человек, ты не понимаешь сипп, а пытаешься спорить. никто не застявляет тебя отделять реализацию от описания. суть в том, чтобы отделить реализацию от интерфейса. понимаешь разницу? интерфейс - абстрактный класс, т.е. без реализации. он проще и УБОБНЕЙ ЧЕЛОВЕКУ для линковки. описания и реализация гораздо больше. тот же дотнет содержит множество интерфейсов и описаний и описания БОЛЬШЕ интерфейсов.В данном контексте под словом "интерфейс" подразумевается "публичный контракт", а не "интерфейс" в его другом понимании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:21:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoЯ ещё только погружаюсь в STL, собрался книжку прочитать. А то пока только элементарные вещи использую, но уже вижу насколько всё стало проще и удобнее. Сильно не погружайся. Это не та религия в которую надо уходить с головой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:26:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonXDiaBLoЯ ещё только погружаюсь в STL, собрался книжку прочитать. А то пока только элементарные вещи использую, но уже вижу насколько всё стало проще и удобнее. Сильно не погружайся. Это не та религия в которую надо уходить с головой. Да я как бы разберусь что и как, чтобы эффективно использовать, а уходить с головой, да нафик надо, у меня других занятий хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:28:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinВ самой программе достаточно указать только имя класса. Библиотеки должны быть проиндексированы, чтобы по имени класса определить, есть ли он в библиотеке и должна ли подключаться библиотека. В любом случае имя класса уникально. Бред. Мне бы очень хотелось увидеть хоть один полноценный ОО-язык, в котором имя класса надёжно уникально. А уж если подключить задачу переключения между с версиями библиотек.. FixinОсобенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), H-файлы - действительно, тяжкое наследие семидесятых. FixinОбъявление интерфейса вместе с реализацией Если объявлять интерфейс класса отдельно от реализации, как это принято в Си++ и Паскаль, код программы увеличивается и по сути, дублируется. Ничто не мешает компилятору собрать объявление из реализации класса. В Java это поняли и поэтому код стал лаконичнее и прозрачнее. Бред. Это одна из основных причин отвратительной читаемости кода в Java. В результате этого требуется просматривать тысячи строк кода только для того, чтобы "по-быстрому" увидеть, что и как умеет этот класс. В результате "сворачивание кода" становится необходимой фичой, поскольку чёрт возьми таки позволяет увидеть суть без шелухи, интерфейс без реализации. FixinВ Си и Паскале при изменении интерфейса приходится менять еще и реализацию, т.е. делать никому не нужную, излишнюю работу. Ещё и неграмотен. На Паскале можно не делать - впрочем, это будет стилистической ошибкой. FixinОбъявление переменных В этом плане отстает только Паскаль. Только в угоду компилятору локальные переменные можно объявлять только в начале процедуры, В угоду хорошему стилю. Это несколько затрудняет написание больших подпрограмм - что минус - но стимулирует "сначала думать, потом делать", что плюс. Особенно для современных программистов, думать не привыкших, привыкших сразу делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:28:50 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc ты хотя бы примерно представляешь себе цену вот этих using ? Какая цена Using? То что IDE немного пошуршит по библиотекам. Да мне пох... лиш-бы в рантайме всё было быстро. А концепция namespace-ов уже слишком плотно села в синтаксис новых языков. А как еще иначе? Много разработчиков (X) умножить на много программных продуктов (Y) равно еще более много библиотек. И как-то нужно гарантировать уникальность и идентичность каждой из них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:32:20 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35982264&tid=1344474]: |
0ms |
get settings: |
11ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
7ms |
get forum data: |
4ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 447ms |

| 0 / 0 |
