|
|
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Морально устаревшие элементы языков программирования высокого уровня Языки высокого уровня были задуманы, чтобы облегчить программирование по сравнению с ассемблером и машинным кодом. В этом они достигли достаточно больших успехов. Но для их использования существовало еще одно ограничение – скорость компиляции кода. Поэтому в языках высокого уровня остались элементы, которые нужны только компилятору, но не нужны человеку. Однако сейчас производительность обработки текста программы (компиляции) уже не имеет решающего значения, а каждый введенный программистом символ, наоборот, стоит все дороже и дороже. Поэтому некоторые элементы оформления кода можно считать морально устаревшими. Объявление библиотек и структуры объектов В целях повторного использования кода программа делится на модули или классы. Чтобы собрать эти объекты вместе, нужно указать компилятору, где их искать. Самый логичный с точки зрения программиста вариант – указать, где расположена библиотека ядра, несколько личных библиотек, причем все это указывать в проекте. В самой программе достаточно указать только имя класса. Библиотеки должны быть проиндексированы, чтобы по имени класса определить, есть ли он в библиотеке и должна ли подключаться библиотека. В любом случае имя класса уникально. Однако что мы видим на практике? В Паскале, в Си++ и в Java программист должен явно указывать, какие библиотеки использовать (uses, include и import соответственно). Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), следить, чтобы заголовочные файлы не включались дважды. Одно это отталкивает от Си++, несмотря на все преимущества ООП. В Java можно включать библиотеки верхнего уровня, при этом подбиблиотеки включаются автоматически – по сути, подключаются лишние библиотеки ради упрощения написания кода. Подход хороший, но не идеальный. Идеально было бы определять библиотеки автоматом, по составу классов. Конечно, использование IDE немного нивелирует эти проблемы, но IDE все равно не решает всех проблем, в любом случае человек видит этот лишний, по сути, мусорный код, и тратит на него свое внимание. Программа в любом случае может лучше человека определить, какие модули нужны. Поэтому нужно запретить явное указание библиотек человеком для улучшения читаемости и скорости ввода программ. Объявление интерфейса вместе с реализацией Если объявлять интерфейс класса отдельно от реализации, как это принято в Си++ и Паскаль, код программы увеличивается и по сути, дублируется. Ничто не мешает компилятору собрать объявление из реализации класса. В Java это поняли и поэтому код стал лаконичнее и прозрачнее. В Си и Паскале при изменении интерфейса приходится менять еще и реализацию, т.е. делать никому не нужную, излишнюю работу. Объявление переменных В этом плане отстает только Паскаль. Только в угоду компилятору локальные переменные можно объявлять только в начале процедуры, хотя ничто не мешает определить, сколько локальных переменных используется в процедуре и отвести под них необходимое место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 09:20:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin, авторв любом случае человек видит этот лишний, по сути, мусорный код, и тратит на него свое внимание. Программа в любом случае может лучше человека определить, какие модули нужны. Не мусорный, после того как класс написан, достаточно при использовании смотреть в .h-файл, чтобы узнать интерфейс. Это очень удобно. А насчёт какие модули нужны, человек как раз может лучше определить, ибо в разных модулях, могут быть классы с одинаковыми названиями, и только человек может указать, что именно он имел в виду. З.Ы. Прошу прощения, Вы ещё студент, и не имеете опыта работы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 09:38:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixin, З.Ы. Прошу прощения, Вы ещё студент, и не имеете опыта работы? он не студент, а всех уже доставший на форуме mista.ru хомо. почитай: http://www.forum.mista.ru/topic.php?id=407452 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 10:06:38 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin первое, вы говорите о конкретной IDE или о нескольких IDE. блокнот не включает ява пакеты автоматически второе, слишком субъективное мнение. какой у вас опыт на ява и на си ? так, например, никто не заставляет вам обьявлять реализацию в си отдельно. но при этом отдельная реализация позволяет разделять headers что существенно упрощает линковку. не говоря уже о том, что можно писать херову кучу классов в одном файле (в яве на это есть ограничения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 10:25:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
trdmXDiaBLoFixin, З.Ы. Прошу прощения, Вы ещё студент, и не имеете опыта работы? он не студент, а всех уже доставший на форуме mista.ru хомо. почитай: http://www.forum.mista.ru/topic.php?id=407452 собственно его и там послали за незнанием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 10:29:09 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcFixin первое, вы говорите о конкретной IDE или о нескольких IDE. блокнот не включает ява пакеты автоматически второе, слишком субъективное мнение. какой у вас опыт на ява и на си ? так, например, никто не заставляет вам обьявлять реализацию в си отдельно. но при этом отдельная реализация позволяет разделять headers что существенно упрощает линковку. не говоря уже о том, что можно писать херову кучу классов в одном файле (в яве на это есть ограничения) Если не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 10:29:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > В Java можно включать библиотеки верхнего уровня, при этом подбиблиотеки > включаются автоматически – по сути, подключаются лишние библиотеки ради > упрощения написания кода. Фига с два там, тебе в Java в конечном итоге надо для запуска (а это -- считай для сборки, потому что в Java сборка происходит при запуске) надо указать именно ВСЕ библиотеки, которые твоя программа использует, и непосредственно, и опосредованно. Подход хороший, но не идеальный. Идеально было > бы определять библиотеки автоматом, по составу классов. А на самом деле тут дело ещё хуже, чем в С/С++, как ни странно. В С/С++ сборка вынесена из языка, и в заголовочном файле только на логическом уровне указывается, что есть какая-то такая функция или переменная, которую я буду использовать. А где она физически находится, и вообще как сборка физически производится, на уровне языка вообще не определяется. Т.е. язык отделён от физического уровня сборки. В Java же классы -- это элементы в том числе и физической организации программы, и ты В ИСХОДНЫХ КОДАХ их должен указывать. Оно конечно, это не так уж и страшно, но факт. > Если объявлять интерфейс класса отдельно от реализации, как это принято > в Си++ и Паскаль, код программы увеличивается и по сути, дублируется. Бред. Ничего не дублируется. > В этом плане отстает только Паскаль. Ну, паскаль и не только в этом плане отстаёт. Да он вообще сдохнет совсем скоро, и туда ему и дорога. Только в угоду компилятору > локальные переменные можно объявлять только в начале процедуры, хотя > ничто не мешает определить, сколько локальных переменных используется в > процедуре и отвести под них необходимое место. Back to FOTRAN days ? Ну, если тут вообще обсуждать Паскаль в этом аспекте, то он -- самый дурацкий в этом смысле язык. потому что синтаксис языка разрабатывался специально для того, чтобы компилятор был простой и быстрый. Т.е. не так, чтобы было удобно программисту, а так, чтобы было удобно компилятору, что и является установкой проблемы с ног на голову. За что я собственно всегда и не любил язык паскаль. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 11:14:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Если не объявлять интерфейс отдельно в С++ например, то методы будут > inline, насколько мне известно, а это не всегда то что нужно. Они будут inline, но это никому не мешает ни в чём. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 11:15:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinПоэтому некоторые элементы оформления кода можно считать морально устаревшими. Объявление библиотек и структуры объектовТебе надо Алана Кея почитать http://alarmingdevelopment.org/?p=229. Он ровно тоже самое замышляет, а именно снизить количество lines of code в десятки раз освободив код от ненужной, служебной мишуры и тем самым повысить качество и скорость разработки софта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 11:58:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv XDiaBLo wrote: > Если не объявлять интерфейс отдельно в С++ например, то методы будут > inline, насколько мне известно, а это не всегда то что нужно. Они будут inline, но это никому не мешает ни в чём. Так ведь размер кода может сильно вырасти, разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 12:05:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinВ Паскале, в Си++ и в Java программист должен явно указывать, какие библиотеки использовать (uses, include и import соответственно). Uses, include и import нужны для того, чтобы было понятно из какой библиотеки ты будешь дергать класс Date (к примеру), из java.util или из javax.sql.SQLDate Можешь тупо без import всё писать, но все названия классов при этом раскрывать полностью, никто import делать не заставляет же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 12:19:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. а в сидиез вроде бы все функции вируальные. inline - как помпилятор настроиш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 12:26:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. а в сидиез вроде бы все функции вируальные. inline - как помпилятор настроиш. В жабе тоже все методы виртуальные, и что? Инлайн то при чём тут? :) А в С++ я компилятор не стану на это настраивать, я просто интерфейс отдельно, реализацию отдельно делаю. И каждый класс в отдельном файле. Удобно, по Жаве заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 12:37:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixin, Не мусорный, после того как класс написан, достаточно при использовании смотреть в .h-файл, чтобы узнать интерфейс. Это очень удобно. З.Ы. Прошу прощения, Вы ещё студент, и не имеете опыта работы? Почему H файл (интерфейс) не может быть создан на основе имеющейся реализации? Вы забываете, что это удобство вылазит боком в том, что человек должен сначала долбить интерфейс, потом реализацию. По крайней мере в Java не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 13:49:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcтак, например, никто не заставляет вам обьявлять реализацию в си отдельно. но при этом отдельная реализация позволяет разделять headers что существенно упрощает линковку. не говоря уже о том, что можно писать херову кучу классов в одном файле (в яве на это есть ограничения) Вы говорите о упрощении линковки... А не кажется ли вам, что линковка уже морально устарела? Перечитайте еще раз пост. Зачем человеку думать о линковке, если этим должен заниматься компилятор. Человеку достаточно указать имя классов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 13:51:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. Опять 25. Я вам и объясняю, что С++ как язык высокого уровня в части линковки уже УСТАРЕЛ ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 13:52:07 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv потому что в Java сборка происходит при запуске Тем более - если сборка происходит при сборке, банальный кэш имен классов решает проблему - зная имя найти имя библиотеки как два байта переслать. Смысл программисту напрягаться и указывать библиотеку? MasterZiv А на самом деле тут дело ещё хуже, чем в С/С++, как ни странно. В С/С++ сборка вынесена из языка, и в заголовочном файле только на логическом уровне указывается, что есть какая-то такая функция или переменная, которую я буду использовать. А где она физически находится, и вообще как сборка физически производится, на уровне языка вообще не определяется. Т.е. язык отделён от физического уровня сборки. В Java же классы -- это элементы в том числе и физической организации программы, и ты В ИСХОДНЫХ КОДАХ их должен указывать. Аргумент хороший. Но часто ли используются такие абстракции? На практике чаще реализация объедина с интерфейсом. Можно было бы сделать вариант вынесения интерфейса и описания его вместе с реализацией... MasterZiv Бред. Ничего не дублируется. Ну как же не дублируется, если интерфейс и реализация содержат одни и те же заголовки, без IDE никак. MasterZiv Ну, паскаль и не только в этом плане отстаёт. Да он вообще сдохнет совсем скоро, и туда ему и дорога. Солидарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:01:38 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
цешарпщикFixinВ Паскале, в Си++ и в Java программист должен явно указывать, какие библиотеки использовать (uses, include и import соответственно). Uses, include и import нужны для того, чтобы было понятно из какой библиотеки ты будешь дергать класс Date (к примеру), из java.util или из javax.sql.SQLDate Можешь тупо без import всё писать, но все названия классов при этом раскрывать полностью, никто import делать не заставляет же Это нужно для тех классов, где имена дублируются. Опять же, расстановкой приоритетов библиотек в проекте эта проблема решается. Ты хочешь сказать, что если я напишу класс TDialog и не укажу библиотеку, она мне найдет сама нужную библиотеку при условии уникальности имени класса??? Сильно сомневаюсь, скорее пошлет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:04:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoFixin, Не мусорный, после того как класс написан, достаточно при использовании смотреть в .h-файл, чтобы узнать интерфейс. Это очень удобно. З.Ы. Прошу прощения, Вы ещё студент, и не имеете опыта работы? Почему H файл (интерфейс) не может быть создан на основе имеющейся реализации? Вы забываете, что это удобство вылазит боком в том, что человек должен сначала долбить интерфейс, потом реализацию. По крайней мере в Java не так. Дак так и надо всегда делать, сначала интерфейс, а потом реализацию. В жабе это вылазит при разработке через тестирование. Сначала пишется тест, в процессе чего продумывается интерфейс, а потом пишется реализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:08:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. Опять 25. Я вам и объясняю, что С++ как язык высокого уровня в части линковки уже УСТАРЕЛ ! Да чтож это блин? Всё там замечательно, мне ничто не мешает, и вполне удобно. Файлы интерфейсов пользователю реализаций, даже удобнее чем компилятору, т.к. не надо лопатить исходник, достаточно посмотреть заголовки функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:10:33 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinMasterZiv потому что в Java сборка происходит при запуске Тем более - если сборка происходит при сборке, банальный кэш имен классов решает проблему - зная имя найти имя библиотеки как два байта переслать. Смысл программисту напрягаться и указывать библиотеку? Ну как же? А охота писать каждый раз полный путь до класса, с указанием пакета??? Так удобнее??? Fixin MasterZiv А на самом деле тут дело ещё хуже, чем в С/С++, как ни странно. В С/С++ сборка вынесена из языка, и в заголовочном файле только на логическом уровне указывается, что есть какая-то такая функция или переменная, которую я буду использовать. А где она физически находится, и вообще как сборка физически производится, на уровне языка вообще не определяется. Т.е. язык отделён от физического уровня сборки. В Java же классы -- это элементы в том числе и физической организации программы, и ты В ИСХОДНЫХ КОДАХ их должен указывать. Аргумент хороший. Но часто ли используются такие абстракции? На практике чаще реализация объедина с интерфейсом. Можно было бы сделать вариант вынесения интерфейса и описания его вместе с реализацией... Чаще как раз они отдельно идут. Fixin MasterZiv Бред. Ничего не дублируется. Ну как же не дублируется, если интерфейс и реализация содержат одни и те же заголовки, без IDE никак. Предлагаю делать всё в Notepad, надолго хватит нервов? Fixin MasterZiv Ну, паскаль и не только в этом плане отстаёт. Да он вообще сдохнет совсем скоро, и туда ему и дорога. Солидарен. Давно пророчат, я бы и рад, да не вижу конца и края этим дельфятникам... Правда и сам в С++ Билдере в основном пишу, но это всё наследие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:15:44 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixinXDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. Опять 25. Я вам и объясняю, что С++ как язык высокого уровня в части линковки уже УСТАРЕЛ ! Да чтож это блин? Всё там замечательно, мне ничто не мешает, и вполне удобно. Файлы интерфейсов пользователю реализаций, даже удобнее чем компилятору, т.к. не надо лопатить исходник, достаточно посмотреть заголовки функций. Еще раз: 1. Файл интерфейса можно получить автоматом, если надо, или в той же IDE посмотреть только заголовки функций, зачем требовать его обязательное наличие? 2. Почему я должен писать IF DEFINE в каждом H-файле. 3. Зачем я должен следить за именами H-файлов? 4. Зачем мне вообще H-файлы, если найти нужное описание класса может и сам компилятор? 5. Допустим, пусть есть интерфейс, но почему тогда я не могу просто написать в реализации, что в данном файле я описываю класс такой то (один раз), затем пишу имя каждого метода (без параметров, параметры будут вытягиваться из объявления) и просто писать код метода. Зачем этот бред с дублированием информации. С++ - это язык для компилятора, а не человека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:22:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin, Ваши проблемы надуманны. Если бы кто-то сделал язык, пользуясь вашими рекомендациями, я бы его придушил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:27:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Ну как же? А охота писать каждый раз полный путь до класса, с указанием пакета??? Так удобнее??? Вы о чем? если имя класса уникально, JAVA должна сама его найти, а если есть варинаты swing/awt, то я в проекте укажу предпочитаемую библиотеку или укажу вызов import явно. Мысль понятна? Проблема в том что без import JAVA не найдет мой класс, даже если его имя уникально, вот! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:35:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLo Ну как же? А охота писать каждый раз полный путь до класса, с указанием пакета??? Так удобнее??? Вы о чем? если имя класса уникально, JAVA должна сама его найти, а если есть варинаты swing/awt, то я в проекте укажу предпочитаемую библиотеку или укажу вызов import явно. Мысль понятна? Проблема в том что без import JAVA не найдет мой класс, даже если его имя уникально, вот! Не катит. Это половинчатое решение, т.к. очень часто имя будет неуникально. Да и к путанице приведёт сей подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:38:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Ваши проблемы надуманны. Если бы кто-то сделал язык, пользуясь вашими рекомендациями, я бы его придушил. Может обоснуете, или я буду считать это эмоциями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:51:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Не катит. Это половинчатое решение, т.к. очень часто имя будет неуникально. Да и к путанице приведёт сей подход. Очень часто - это в каких случаях? Для своего проекта я использую свои имена классов и полностью их контролирую и мне не нужно указание import. А путаница идет как раз от того, что классы называются одинаково. Смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:53:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Товарищ просто никогда в жизни не писал серьезных программ, не работал в команде... Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут? Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 14:56:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLo Ваши проблемы надуманны. Если бы кто-то сделал язык, пользуясь вашими рекомендациями, я бы его придушил. Может обоснуете, или я буду считать это эмоциями? Ваши проблемы тоже в основном зиждятся на эмоциях и нелюбви к каким-либо фичам. Почему я на эмоции не могу отвечать эмоциями? Ну просто вы же не слушаете мои аргументы, зачем я их вообще пишу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:08:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Предлагаю Fixin реализовать компилятор, который ему так нравится. Со всеми так необходимыми ему фишками. PS А потом посмотрю, как поможет ему уникальность, когда в новой внешней библиотеке, на которую собрались "перехать" - о чудо! - вдруг случится пересечение с именами из его чудо-проекта... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:11:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
случайныйнаборсимволовтутТоварищ просто никогда в жизни не писал серьезных программ, не работал в команде... Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут? Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло... Именно! Я вот сейчас как раз чем и занимаюсь неделю уже, из этих самых OnButtonClick макароны переделываю на классы, ну то есть реализую классы, а потом спокойненько поглядывая в хидеры, использую эти классы в обработчиках OnButtonClick. Получается красиво, удобно, и меньше волнения, что где-то что-то сломается :) А в реализации классов уже и заглядывать то не приходится, всё в интерфейсах смотрю :) Меня ни капли не напрягает создать заголовочный файл вручную, меня не раздражают конструкции рода Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:12:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
BagaBagaПредлагаю Fixin реализовать компилятор, который ему так нравится. Со всеми так необходимыми ему фишками. PS А потом посмотрю, как поможет ему уникальность, когда в новой внешней библиотеке, на которую собрались "перехать" - о чудо! - вдруг случится пересечение с именами из его чудо-проекта... Да, пространства имён придумали от нечего делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:13:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Зачем нужны заголовки и импорты в программах высокого уровня? В C++ для ООП include используется для включения объявлений классов. После компиляции программа определяет, какие классы используются в программе и собирает их из LIB-библиотек и OBJ-файлов. При этом она сама определяет, из какой библиотеки брать тот или иной файл. Спрашивается – почему нельзя проиндексировать H-файлы библиотеки и проекта и составить индекс используемых классов? Тогда компилятор бы определял, какие классы используются в проекте и сам бы подключал нужные H-файлы. Зачем нужны интерфейсы? В некоторых случаях интерфейсы действительно нужны, когда реализация не задается или откладывается. Но чаще бывает, что реализация известна. Предлагается использовать следующий подход: разрешать описывать реализацию вместе с интерфейсом или по отдельности. Если интерфейс описан отдельно, то реализация выглядит так: #Implementation ClassName Method1 { } Method2 { } То есть в реализации дублируются только название класса (один раз) и название методов, без параметров. Если так уж нужно разделить реализацию и интерфейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:32:43 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Они будут inline, но это никому не мешает ни в чём. > > > Так ведь размер кода может сильно вырасти, разве нет? С чего ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:32:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > В жабе тоже все методы виртуальные, и что? Инлайн то при чём тут? :) При том, что если функция виртуальная, она не может инлайниться. Т.е. как бы это -- два противоположных полюса инлайнинга. Но вообще это действительно мало значит тут. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:34:48 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
BagaBagaПредлагаю Fixin реализовать компилятор, который ему так нравится. Со всеми так необходимыми ему фишками. PS А потом посмотрю, как поможет ему уникальность, когда в новой внешней библиотеке, на которую собрались "перехать" - о чудо! - вдруг случится пересечение с именами из его чудо-проекта... Вы не слышали рекомендацию, что в названиях классов нужно указывать имя/ник своей компании и т.п.? Мне кажется, проблема надумана и высосана из пальца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:35:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoМеня ни капли не напрягает создать заголовочный файл вручную, меня не раздражают конструкции рода Код: plaintext 1. 2. 3. Эту работу должен делать компьютер, а не человек. Не все как вы спокойно относятся к монотонному труду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:36:31 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoВаши проблемы тоже в основном зиждятся на эмоциях и нелюбви к каким-либо фичам. Почему я на эмоции не могу отвечать эмоциями? Ну просто вы же не слушаете мои аргументы, зачем я их вообще пишу? Слив засчитан. Моя тема посвящена не эмоциям, а лишнему тексту, который должен набирать человек, хотя вместо него это может и должен делать компилятор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:38:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
случайныйнаборсимволовтутТоварищ просто никогда в жизни не писал серьезных программ, не работал в команде... Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут? Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло... Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак в командной разработке, да? Давайте поговорим про H-файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:38:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin Вы не слышали рекомендацию, что в названиях классов нужно указывать имя/ник своей компании и т.п.? Мне кажется, проблема надумана и высосана из пальца. Во-первых, имя-ник далеко не всегда уникально. А когда уникально - далеко не так удобно... поскольку вырождается в эмуляцию пространсв имен. Да и на кой мне к счетчику цикла i присобачивать по сути "квалификатор пространства имен" MyBestCompanyForeverI? PS Если настаиваете, так и быть, назову счетчик цикла итератором коллекции... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:44:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv XDiaBLo wrote: > Они будут inline, но это никому не мешает ни в чём. > > > Так ведь размер кода может сильно вырасти, разве нет? С чего ? Подстановки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:51:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
BagaBaga PS Если настаиваете, так и быть, назову счетчик цикла итератором коллекции... Это атрибут итератора, а не сам итератор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:53:36 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinслучайныйнаборсимволовтутТоварищ просто никогда в жизни не писал серьезных программ, не работал в команде... Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут? Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло... Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак в командной разработке, да? Давайте поговорим про H-файлы. О, вы прозрели! Я же тут про это уже упоминал, и не только я. Именно так, вы пишете реализацию и интерфейс, а остальные в команде, используя ваши классы, видят только интерфейс. Это как чёрный ящик. Удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:53:36 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinBagaBagaПредлагаю Fixin реализовать компилятор, который ему так нравится. Со всеми так необходимыми ему фишками. PS А потом посмотрю, как поможет ему уникальность, когда в новой внешней библиотеке, на которую собрались "перехать" - о чудо! - вдруг случится пересечение с именами из его чудо-проекта... Вы не слышали рекомендацию, что в названиях классов нужно указывать имя/ник своей компании и т.п.? Мне кажется, проблема надумана и высосана из пальца. Это делают пространства имён, гораздно удобнее, чем в названии каждого класса набивать так нелюбимый вами лишний текст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:54:41 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Опять 25. Я вам и объясняю, что С++ как язык высокого уровня в части > линковки уже *УСТАРЕЛ*! Я сильно подозреваю, что C++ к линковке вообще никак не относится (чтобы сказать точно, надо посмотреть в стандарт). Но даже если в стандарте что-то и написано по поводу линковки, то оно очень слабо будет связано с именно языком С++. Так что тут всё нормально. Если линковка и устарела (а она действительно устарела во многом), то она будет переделана, и уже переделана была, без какого-то существенного влияния на сам язык. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 15:58:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
поразительный сабж. автор хочет современного языка со всякими вкусностями и фичами, но, при этом хочет пользоваться для написания программы блокнотом. Практически всё, что хочет автор реализовано в современных промышленных IDE. И #ifndef, #define напишут, и мастера для созданий классов, добавлений методов, свойств, типовых конструкций кода давно уже в них реализовано. Бери и пользуйся, нет! нам блокнот подавай. И думать не хочется, и писать... могу разочаровать - профессия программиста предполагает необходимость много думать и много писать, вот при продаже мобилок, к примеру, этих навыков не требуется, так может профессию сменить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 16:02:28 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Аргумент хороший. Но часто ли используются такие абстракции? На практике > чаще реализация объедина с интерфейсом. Можно было бы сделать вариант > вынесения интерфейса и описания его вместе с реализацией... не понял. При чём тут интерфейсы и реализация ? Они в Java -- разные классы, и они всегда разнесены в Java. Я также не понял про автоматический поиск классов. Как они будут искаться везде ? Класспаш - да, есть, но это ж и есть ручное указание того, какие классы и библиотеки брать в сборку. > Ну как же не дублируется, если интерфейс и реализация содержат одни и те > же заголовки, без IDE никак. Не понял тоже. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 16:02:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Вы о чем? если имя класса уникально, JAVA должна сама его найти, а если > есть варинаты swing/awt, то я в проекте укажу предпочитаемую библиотеку > или укажу вызов import явно. > Мысль понятна? Ну так CLASSPATH у них и так есть. И ПОЛНОЕ ИМЯ КЛАССА - уникально. Ну и что, легче ? > > Проблема в том что без import JAVA не найдет мой класс, даже если его > имя уникально, вот! Найдёт, найдёт ! Пиши всегда полное имя класса -- и импорт будет не нужен ! Но, думаю, хватит тебя не на долго. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 16:05:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
господа, вы тут фиксину поапонируйте поинтенсивнее, мы хоть на мисте отдохнем от него :) вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С. Ну вы поняли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 16:12:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoMasterZiv XDiaBLo wrote: > Они будут inline, но это никому не мешает ни в чём. > > > Так ведь размер кода может сильно вырасти, разве нет? С чего ? Подстановки. носят исключительно рекомендательный характер и не inline компилятор подставлять тоже не дурак ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 16:13:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
egorychпоразительный сабж. автор хочет современного языка со всякими вкусностями и фичами, но, при этом хочет пользоваться для написания программы блокнотом. Нищета философии. Есть такая система - CLARION. В ней можно создавать полноценные Windows-приложения, пользуясь только набором текста (блокнотом) за счет очень мощных операторов ЯП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:17:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Вот пример программирования при помощи блокнота в Windows: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:38:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Забаненный, include есть... следовательно автору не подойтет ) ЗЫ. Хоть бы линк дал на компилятор... раз уж рекламируешь так ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:45:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
torrents.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:46:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Забаненный, А оффсайта нет ? Или сие есть только за деньги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:48:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
А в чем проблема с торрента скачать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:49:36 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Забаненный, Дак скачать то не проблема.. Но не будешь же ты скачанный с торрента фреймворк использовать для коммерческой разработки. Так разве что так... посмотреть ) А если CLARION есть платный... Дак меня както бесплатный QT пользовать не сильно напрягает. ЗЫ. Поддержка сокетов, многопоточности/синхронизации, 64-х битной платформы там хоть есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:55:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
У меня есть инсталляция CLARION 6.0 - где-то 125 Мб занимает, можно залить по частям на zalil.ru, но у нас сейчас перерасход траффика немного - чуть позже, если надо. Я в Инете недавно работаю, что такое оффсайт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:03:47 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
clihltЗЫ. Поддержка сокетов, многопоточности/синхронизации, 64-х битной платформы там хоть есть? Многопоточность/синхронизация есть в 6.0 (однако не пробовал в работе - там рассматривается какая-то преемптивная и кооперативная модели). Что такое сокет - беспонятие. 64-битную платформу 6-я версия не поддерживает, но уже заявлена 7-я - может быть. Однако стоит дорого - что-то 60-70 (боюсь сказать в чем). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:07:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
BagaBagaДа и на кой мне к счетчику цикла i присобачивать по сути "квалификатор пространства имен" MyBestCompanyForeverI? Буквоедство detected. Речь идет об именах классов а не о именах переменных. Вы для счетчика класс заводите? Тогда приаттачивайте имя, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:22:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoИменно так, вы пишете реализацию и интерфейс, а остальные в команде, используя ваши классы, видят только интерфейс. Это как чёрный ящик. Удобно. Боже ш ты мой, ну что за косность. Ну сгенирируйте H-файл (интерфейс) на основе реализации, если это надо для командной работы. А если не надо, нафига нужен этот H-файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:25:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Это делают пространства имён, гораздно удобнее, чем в названии каждого класса набивать так нелюбимый вами лишний текст. По поводу JAVA я всего лишь предлагал, если библиотека не указана, то искать имя класса во всей библиотеке. Это не отрицает пространство имен, а дополняет возможности JAVA Кроме детского-лепета о конфликте имен классов возражений я не услышал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:27:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Я сильно подозреваю, что C++ к линковке вообще никак не относится (чтобы сказать точно, надо посмотреть в стандарт). Но даже если в стандарте что-то и написано по поводу линковки, то оно очень слабо будет связано с именно языком С++. Так что тут всё нормально. Если линковка и устарела (а она действительно устарела во многом), то она будет переделана, и уже переделана была, без какого-то существенного влияния на сам язык. Буквоедство detected. Речь шла о сборке h-файлов, может перейдем ближе к делу и подальше от демагогии. H-файлы устарели, они не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:28:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Вообщем, кто CLARION скачает и захочет что-либо попробовать - задавайте вопросы, некоторое время буду отвечать (я работаю в основном с форматом DBF - в его TPS лезть не хочется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:28:44 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
egorychпоразительный сабж. автор хочет современного языка со всякими вкусностями и фичами, но, при этом хочет пользоваться для написания программы блокнотом. Практически всё, что хочет автор реализовано в современных промышленных IDE. И #ifndef, #define напишут, и мастера для созданий классов, добавлений методов, свойств, типовых конструкций кода давно уже в них реализовано. Бери и пользуйся, нет! нам блокнот подавай. И думать не хочется, и писать... могу разочаровать - профессия программиста предполагает необходимость много думать и много писать, вот при продаже мобилок, к примеру, этих навыков не требуется, так может профессию сменить? Я предвидел этот вопрос. Видите ли, в коде не должно быть лишних сущностей. Можно конечно юзать, как выражаетесь, современные IDE, при этом код будет выглядеть так, что волосы дыбом встают. Зачем эти извращения с H-файлами в современном языке? Кому они нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:29:33 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv не понял. При чём тут интерфейсы и реализация ? Они в Java -- разные классы, и они всегда разнесены в Java. Я также не понял про автоматический поиск классов. Как они будут искаться везде ? Класспаш - да, есть, но это ж и есть ручное указание того, какие классы и библиотеки брать в сборку. Везде, а что проблема составить список классов? Время поиска - 0.00000001 секунда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:30:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Ну так CLASSPATH у них и так есть. И ПОЛНОЕ ИМЯ КЛАССА - уникально. Ну и что, легче ? Пардон, я где то писал о ПОЛНОМ имени класса? Что за приписывания? Я говорил об ИМЕНИ класса. Оно тоже может быть уникальным! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:31:47 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Забаненныйegorychпоразительный сабж. автор хочет современного языка со всякими вкусностями и фичами, но, при этом хочет пользоваться для написания программы блокнотом. Нищета философии. Есть такая система - CLARION. В ней можно создавать полноценные Windows-приложения, пользуясь только набором текста (блокнотом) за счет очень мощных операторов ЯП. Не передергивай. Где я призывал отказаться от WYSIWYG? Я говорил, что H-классы - это наследие компиляторного прошлого и они уже устарели. Включи мозг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:33:10 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
ЗабаненныйВообщем, кто CLARION скачает и захочет что-либо попробовать - задавайте вопросы, некоторое время буду отвечать (я работаю в основном с форматом DBF - в его TPS лезть не хочется). Я не хочу. Не вдохновляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:34:20 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Вы не слышали рекомендацию, что в названиях классов нужно указывать > имя/ник своей компании и т.п.? Мне кажется, проблема надумана и высосана > из пальца. Эту рекомендацию уже давно выкинули на свалку истории. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:38:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Слив засчитан. Моя тема посвящена не эмоциям, а лишнему тексту, который > должен набирать человек, хотя вместо него это может и должен делать > компилятор. Да не может он делать, в том -то и фигня вся. Может, если только каждому классу дать глобально уникальное имя. Ну, например, GUID подойдёт. Ты будешь писать такие программы ? Думаю, не будешь. Вот затем и нужны заголовки, CLASSPATH-ы и т.п. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:41:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак > в командной разработке, да? Давайте поговорим про H-файлы. В общем-то, именно так. Никуда без них. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:41:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinПо поводу JAVA я всего лишь предлагал, если библиотека не указана, то искать имя класса во всей библиотеке. так как же тогда разрешать конфликты имён которые вы так не любите? )) вот у меня есть допустим класс StringUtils одновременно в трёх библиотеках. как по вашему должен себя вести компилятор/интерпретатор вашего языка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:42:48 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Подстановки. Подстановка тела функции в месте вызова имеется в виду ? И как это связано с inline ? То-то, что НИКАК это не связано. Именно поэтому и не будет проблем. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:43:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
clihltЗабаненный, Дак скачать то не проблема.. Но не будешь же ты скачанный с торрента фреймворк использовать для коммерческой разработки. Так разве что так... посмотреть ) А если CLARION есть платный... Дак меня както бесплатный QT пользовать не сильно напрягает. ЗЫ. Поддержка сокетов, многопоточности/синхронизации, 64-х битной платформы там хоть есть? Попросите на ClarionLife.net. Язык мне нравился в свое время,но, морально он устарел(по 6-ке сужу). Может в семерке исправлено все, но.. верится с трудом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 18:59:33 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Ну, паскаль и не только в этом плане отстаёт. Да он вообще сдохнет совсем скоро, и туда ему и дорога. Он уже давно умер аж 19 августа 1662 года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:09:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
> Боже ш ты мой, ну что за косность. Ну сгенирируйте H-файл (интерфейс) на > основе реализации, если это надо для командной работы. А если не надо, > нафига нужен этот H-файл? Не всё, что есть в реализации, должно быть в интерфейсе. И отвечает за этот "отсвет" разработчик. Автоматом можно сделать разве что заготовку, которую он потом проверит и выкинет ненужное. Ладно, сдаётся мне, что тема создана только для чтобы пофлеймить. Рассмотрим детально предложения аффтора. Вот устаревшие конструкты языков: Объявление библиотек -- во многих языках программирования уже не обязательно нужно указывать библиотеки. Например, в тех же С/С++ можно подключать библиотеки автоматом. В Java то же самое, по сути там избавились от этого пункта путём избавления от библиотек. Но тем не менее в очень немногих языках удалось избавиться ПОЛНОСТЬЮ от определения в явном виде того контекста, в котором приложение компилируется, собирается и работает. Всё же он остаётся. При этом чем мощнее язык и его стандартная библиотека, тем проще работать только в пределах стандартного окружения и не добавлять туда ничего больше. Но, ещё раз, полностью от этого избавиться вряд ли удастся. Объявление структуры объектов -- Ну, без этого вообще никуда. От этого не уйти. Если есть объект, его структура должна быть где-то описана. Неописывать можно только автоматически саморасширяемые объекты, а таких не во многих языках можно найти. ... должна ли подключаться библиотека. В любом случае имя класса уникально. -- да не уникально имя класса или других объектов. Программисту удобно использовать короткие имена-алиасы, ссылаясь на заранее определённый контекст, в котором пишется программа. именно поэтому нет полного имени класса и оно неуникально. поэтому "определять библиотеки автоматом, по составу классов" невозможно, потому что неудобно. В смысле - возможно, но никто так не делает. Ты хоть сейчас в Java можешь так делать. При чём с рождения Java. Но не будешь, потому что неудобно. И, кстати, в Java using НЕ ПОДКЛЮЧАЕТ библиотеку. Он только вводит в обрасти определения твоей программы алиасы для классов. Ты можешь это не делать, и не надо будет писать using. "Конечно, использование IDE немного нивелирует эти проблемы, но IDE все равно не решает всех проблем, в любом случае человек видит этот лишний, по сути, мусорный код, и тратит на него свое внимание." -- зато он не тратит его потом, когда читает код с полными уникальными именами классов, функций и т.п., что гораздо важнее. Объявление интерфейса вместе с реализацией -- не понятно, за что ратует автор. За слияние реализации с интерфейсов, или наоборот, за разделение. Но видимо всё-таки за слияние. Так в чём проблема ? В Java - есть (и по-другому нельзя). В C/C++ - можно так, можно так, пиши как хочешь. В Паскале - то же самое. Вообще, классический паскаль в один листинг должен был запихнут. Там вообще модулей не было ! Ну и на последок надо заметить, что обычно программист СНАЧАЛА пишет объявление и интерфейс модуля, а потом -- её реализацию. Объявление переменных "В этом плане отстает только Паскаль." -- Да нет, все нединамически типизируемые языки отстают. Ну или скажем так - нединамические и не статические с выводимыми типами переменных. Но скоро тут будет счастье -- в С++ добавят auto, паскаль сдохнет, про него уже сказали, и вообще динамически типизируемые языки будут всё более популярными. С# с CLR - ом только чего стоят. Они конечно не совсем динамические, но там всё есть объект, а это почти то же самое. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:10:24 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Буквоедство detected. Речь шла о сборке h-файлов, Я не понимаю, как это. сборка h-файлов. может перейдем ближе к > делу и подальше от демагогии. H-файлы устарели, они не нужны. Так не нравится - не используй, никто не заставляет. Даже в С. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:12:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Везде, а что проблема составить список классов? Время поиска - > 0.00000001 секунда. Вот сначала ты должен определить, где это ВЕЗДЕ. Причём в любом языке, в любой системе программирования. Без этого контекста существуют либо очень примитивные и нерасширяемые языки, типа бейсика (не VisualBasic, а обычного бейсика) или ассемблера, либо очень мощные и совершенные языки. Но в любом случае хотя бы спецификацией языка этот контекст задаётся. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:16:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Пардон, я где то писал о *ПОЛНОМ* имени класса? Что за приписывания? Я > говорил об *ИМЕНИ* класса. Оно тоже может быть уникальным! Я уже достаточно понаписал про это, ты почитай - поймёшь может быть. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:17:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Fixin wrote: > Слив засчитан. Моя тема посвящена не эмоциям, а лишнему тексту, который > должен набирать человек, хотя вместо него это может и должен делать > компилятор. Да не может он делать, в том -то и фигня вся. Может, если только каждому классу дать глобально уникальное имя. Ну, например, GUID подойдёт. Ты будешь писать такие программы ? Думаю, не будешь. Вот затем и нужны заголовки, CLASSPATH-ы и т.п. Главную мысль ты не уловил, зациклился на неймспейсах, - если я хочу создать экземпляр класса MyLib.MyClsass, нафига мне вставлять в код #include <mylib\myclass>, это компилятор должен сделать сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:57:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Fixin wrote: > Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак > в командной разработке, да? Давайте поговорим про H-файлы. В общем-то, именно так. Никуда без них. Да вы что, не можете себе представить С++ без H-файлов? даю наводку - вы пишете имя файла, а компилятор сам подключает нужный h-файл. Возможно, если я вам скажу что С++ может быть без инклюдов, вам проще будет понять идею? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:58:50 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Так не нравится - не используй, никто не заставляет. Даже в С. Я и не использую, но по ходу, выбора нет. Мэйнстрим глубоко завяз в морально устаревшем С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:59:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Вот сначала ты должен определить, где это ВЕЗДЕ. Причём в любом языке, в любой системе программирования. Без этого контекста существуют либо очень примитивные и нерасширяемые языки, типа бейсика (не VisualBasic, а обычного бейсика) или ассемблера, либо очень мощные и совершенные языки. Но в любом случае хотя бы спецификацией языка этот контекст задаётся. Я тебе уже объяснил, где это везде. 1. Библиотеки ядра. 2. Дополнительные библиотеки, указанные в настройках проекта. 3. Файлы классов проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 20:00:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Пойду по пунктам: >> Объявление библиотек -- во многих языках программирования уже не обязательно нужно указывать библиотеки. Например, в тех же С/С++ можно подключать библиотеки автоматом. В Java то же самое, по сути там избавились от этого пункта путём избавления от библиотек. Но тем не менее в очень немногих языках удалось избавиться ПОЛНОСТЬЮ от определения в явном виде того контекста, в котором приложение компилируется, собирается и работает. Всё же он остаётся. При этом чем мощнее язык и его стандартная библиотека, тем проще работать только в пределах стандартного окружения и не добавлять туда ничего больше. Но, ещё раз, полностью от этого избавиться вряд ли удастся. Расскажите, как можно подключать библиотеки автоматом. Если вы про линковку - то это другая песня. Я про include-файлы. >>Объявление структуры объектов -- Ну, без этого вообще никуда. От этого не уйти. Если есть объект, его структура должна быть где-то описана. Неописывать можно только автоматически саморасширяемые объекты, а таких не во многих языках можно найти. На здоровье, но я говорю о том, что по желанию человека их можно совместить с реализацией и получить объявление интерфейса автоматом. >> .. должна ли подключаться библиотека. В любом случае имя класса уникально. -- да не уникально имя класса или других объектов. Программисту удобно использовать короткие имена-алиасы, ссылаясь на заранее определённый контекст, в котором пишется программа. именно поэтому нет полного имени класса и оно неуникально. поэтому "определять библиотеки автоматом, по составу классов" невозможно, потому что неудобно. В смысле - возможно, но никто так не делает. Ты хоть сейчас в Java можешь так делать. При чём с рождения Java. Но не будешь, потому что неудобно. И, кстати, в Java using НЕ ПОДКЛЮЧАЕТ библиотеку. Он только вводит в обрасти определения твоей программы алиасы для классов. Ты можешь это не делать, и не надо будет писать using. Если надо, можно уточнить, о какой библиотеке идет речь, но не писать полный путь. Но если я точно знаю, что мое имя класса уникально, я хочу его получить по этому имени, без лишних телодвижений. Понятна мысль? >> "Конечно, использование IDE немного нивелирует эти проблемы, но IDE все равно не решает всех проблем, в любом случае человек видит этот лишний, по сути, мусорный код, и тратит на него свое внимание." -- зато он не тратит его потом, когда читает код с полными уникальными именами классов, функций и т.п., что гораздо важнее. Я вообщето преимущественно вел речь об избавлении от include-файлов, смысла этого поста не понял. >> Объявление интерфейса вместе с реализацией -- не понятно, за что ратует автор. За слияние реализации с интерфейсов, или наоборот, за разделение. Но видимо всё-таки за слияние. Так в чём проблема ? В Java - есть (и по-другому нельзя). В C/C++ - можно так, можно так, пиши как хочешь. В Паскале - то же самое. Вообще, классический паскаль в один листинг должен был запихнут. Там вообще модулей не было ! Ну и на последок надо заметить, что обычно программист СНАЧАЛА пишет объявление и интерфейс модуля, а потом -- её реализацию. В С++ - смешно, да можно, но зато потом не используешь такой модуль в проекте. >> Объявление переменных "В этом плане отстает только Паскаль." -- Да нет, все нединамически типизируемые языки отстают. Ну или скажем так - нединамические и не статические с выводимыми типами переменных. Но скоро тут будет счастье -- в С++ добавят auto, паскаль сдохнет, про него уже сказали, и вообще динамически типизируемые языки будут всё более популярными. С# с CLR - ом только чего стоят. Они конечно не совсем динамические, но там всё есть объект, а это почти то же самое. Я вел речь не о динамически определяемых типах, а о объявлении переменных в любом месте модуля, будьте внимательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 20:05:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoНе мусорный, после того как класс написан, достаточно при использовании смотреть в .h-файл, чтобы узнать интерфейс. Это очень удобно.Баян. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 20:15:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinЕсли надо, можно уточнить, о какой библиотеке идет речь, но не писать полный путь. Но если я точно знаю, что мое имя класса уникально, я хочу его получить по этому имени, без лишних телодвижений. Понятна мысль?Спасибо, ненадо. Какой-то идиот уже реализовал в COM только глобальную прозрачность расположения классов. Теперь никто не знает что с ней делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 20:24:36 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КFixinЕсли надо, можно уточнить, о какой библиотеке идет речь, но не писать полный путь. Но если я точно знаю, что мое имя класса уникально, я хочу его получить по этому имени, без лишних телодвижений. Понятна мысль?Спасибо, ненадо. Какой-то идиот уже реализовал в COM только глобальную прозрачность расположения классов. Теперь никто не знает что с ней делать. ответьте пожалуйста конкретно, а не со ссылкой на COM, чем будет мешать подобное разыменование. Все равно вы используете несколько областей и имена могут пересекаться. В случае пересечения имен можно выдавать ошибку типа ambigous names of classes. давайте без "идиотов" а по существу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 20:59:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
headers позволяют разделять реализацию и интерфейс. вы можете подключать реализацию интерфейса из другой либы. но делать жесткую привязку (как в ява) ТУПО !!! ибо это ограничивает возможности, и добавляет тупости коду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 21:12:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcheaders позволяют разделять реализацию и интерфейс. вы можете подключать реализацию интерфейса из другой либы. но делать жесткую привязку (как в ява) ТУПО !!! ибо это ограничивает возможности, и добавляет тупости коду. мэйнстрим таки - это не подключение интерефейсов из разных либ, мэйнстрим - это интерфейс и библиотека из одной либы. То бишь С++ написан для извращенцев, а не нормальных людей. В норме либа должна быть одна, а если вам хочется разных, наберите нужный код, понятно? Т.е. нормой считается когда либа и интерфейс одинаковые, нужно специфицировать, когда они разные. А С++ считает нормой патологию. Неудивительно, он написан для компиляторов, а не людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 21:59:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixineee-pcheaders позволяют разделять реализацию и интерфейс. вы можете подключать реализацию интерфейса из другой либы. но делать жесткую привязку (как в ява) ТУПО !!! ибо это ограничивает возможности, и добавляет тупости коду. мэйнстрим таки - это не подключение интерефейсов из разных либ, мэйнстрим - это интерфейс и библиотека из одной либы. То бишь С++ написан для извращенцев, а не нормальных людей. В норме либа должна быть одна, а если вам хочется разных, наберите нужный код, понятно? Т.е. нормой считается когда либа и интерфейс одинаковые, нужно специфицировать, когда они разные. А С++ считает нормой патологию. Неудивительно, он написан для компиляторов, а не людей. ну да. только heander + lib == библиотека. вы путаете понятия. Сипп написан для нормальных людей, а не для лентяев, у когорых замедление в сотню раз считается нормальным. и не путайте понятия. сипп в отношении интерфейсов НИЧЕМ не хуже той де явы или дотнета. и не надо путать интерфейсы и стандартные классы. я много работаю на сипп, работал много на яве и когда то на vb. IDE для сипп дают столь же ПРОСТОЕ подключение как и та же ява. только в яве куча непонятных закрутов, снижающих возможности и усложняющих понимание (например, один файл - один класс (не всегда, но в целом верно)). к тому же та же ява: интерфейс и класс вам ПРИХОДИТЬСЯ дублировать. и конечно же. НИКТО НЕ ЗАСТАВЛЯЕТ вам делать много файлов. вам нужен лишь ОДИН .C (.CPP), все остальные могут быть заголовками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:08:31 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
короче, как ни крути, но: - с линковкой у сипп все в порядке (у противников этого пункта либо слабые знания и опыт на сипп либо руки кривые) - скорость у сипп пока самая высокая (асм не смотрим) для большнства задач (например пролог или лисп проще и быстрей решают свои задачи) - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:11:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin 1. Файл интерфейса можно получить автоматом, если надо, или в той же IDE посмотреть только заголовки функций, зачем требовать его обязательное наличие? О каком файле интерфейса идёт речь? IDL что-ли? 2. Почему я должен писать IF DEFINE в каждом H-файле. Не пиши. Используй директиву pragma. Или ты этими if проверяешь что-то другое? Тогда покажи код. 3. Зачем я должен следить за именами H-файлов? 4. Зачем мне вообще H-файлы, если найти нужное описание класса может и сам компилятор? Управление -h файлами это в некотором роде контроль над scope vision для компиллера. Ты отделяешь, что ему надо видеть, а что нет. И элементарное управление пространством имён. 5. Допустим, пусть есть интерфейс, но почему тогда я не могу просто написать в реализации, что в данном файле я описываю класс такой то (один раз), затем пишу имя каждого метода (без параметров, параметры будут вытягиваться из объявления) и просто писать код метода. Зачем этот бред с дублированием информации. С++ - это язык для компилятора, а не человека. Здесь нужен экскурс в историю. Дело в том, что самые первые версии компилляторов действительно были машинно- а не человеко- ориентироваными. Это проявлялось во всём. Экономия памяти в именах переменных (исходник не прогружался в ОЗУ). Оверлейные буферы. Различные расширители верхней (hi), расширенной (extended) и еще x$й знает какой памяти. Катастрофическая нехватка оперативки и чудовищно медленный дисковый интерфейс (как вариант 5.25 дюймовая дискета и никакого HDD). И сделать #include <*> было нельзя. И сегодня, ты избалованный и изнеженный 2-4 ГБ оперативки и бесконечной страничной памятью не понимаешь программистов-семидесятников. Их работа была адской. Ресурны машины надо было ЭКОНОМИТЬ. А человеко-ресурсы нет. Человеков ведь всегда много. Вот такие вот пирожки. Поэтому тяжёлое наследие первых компилляторов несут в себе очень многие языки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:26:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Я тебе уже объяснил, где это везде. > 1. Библиотеки ядра. > 2. Дополнительные библиотеки, указанные в настройках проекта. > 3. Файлы классов проекта. Ну, так всё-таки указанные в настройках. А против чего ты возмущался ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 01:21:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Расскажите, как можно подключать библиотеки автоматом. #pragma comment(library) Если вы про > линковку - то это другая песня. Я про include-файлы. А при чём тут include-файлы, если ты о библиотеках ? Никак это не связано. > На здоровье, но я говорю о том, что по желанию человека их можно > совместить с реализацией и получить объявление интерфейса автоматом. А что такое описание структуры данных класса, как не его реализация ? Я не понял, её богу. > Если надо, можно уточнить, о какой библиотеке идет речь, но не писать > полный путь. > Но если я точно знаю, что мое имя класса уникально, я хочу его получить > по этому имени, без лишних телодвижений. Понятна мысль? Неа. Давай тогда в таком разрезе. Напиши, как это должно выглядеть. В языке, в окружении. Представь, что ты пишешь часть стандарта. И напиши. А мы посмотрим. > В С++ - смешно, да можно, но зато потом не используешь такой модуль в > проекте. Да почему же ? Используй на здоровье. > Я вел речь не о динамически определяемых типах, а о объявлении > переменных в любом месте модуля, будьте внимательнее. Да я понял. Обобщил я. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 01:25:33 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton wrote: > Здесь нужен экскурс в историю. Дело в том, что самые первые версии > компилляторов действительно были машинно- а не человеко- > ориентироваными. Это проявлялось во всём. Экономия памяти в именах > переменных (исходник не прогружался в ОЗУ). Оверлейные буферы. Различные > расширители верхней (hi), расширенной (extended) и еще x$й знает какой > памяти. Катастрофическая нехватка оперативки и чудовищно медленный > дисковый интерфейс (как вариант 5.25 дюймовая дискета и никакого HDD). И > сделать #include <*> было нельзя. И сегодня, ты избалованный и > изнеженный 2-4 ГБ оперативки и бесконечной страничной памятью не > понимаешь программистов-семидесятников. Их работа была адской. Ресурны > машины надо было ЭКОНОМИТЬ. А человеко-ресурсы нет. Человеков ведь > всегда много. Вот такие вот пирожки. Поэтому тяжёлое наследие первых > компилляторов несут в себе очень многие языки. Это немного неправильный экскурс в историю. Когда появились первые языки программирования, дискет ещё даже в планах не было. И появились языки программирования высокого уровня именно из-за того, что нужно было экономить ресурсы именно в виде ЧЕЛОВЕКОВ-ПРОГРАММИСТОВ. А иначе мы так бы в кодах и кодили. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 01:32:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixinответьте пожалуйста конкретно, а не со ссылкой на COM, чем будет мешать подобное разыменование. Все равно вы используете несколько областей и имена могут пересекаться. В случае пересечения имен можно выдавать ошибку типа ambigous names of classes. давайте без "идиотов" а по существу.Я лиш привёл пример, к чему может привести Ваша концепция отсутствия reference-ов. В принципе, то что Вы предлагаете уже существует в каком-то виде в C# + Visual Studio. Я набираю имя класса - IDE предлагает добавить соответствующий using. Разумеется, поиск производится среди библиотек, подключенных к проекту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 05:53:00 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonFixin 1. Файл интерфейса можно получить автоматом, если надо, или в той же IDE посмотреть только заголовки функций, зачем требовать его обязательное наличие? О каком файле интерфейса идёт речь? IDL что-ли?Да хоть о каком. Речь идёт об абстрактной возможности сгенерировать и отобразить интерфейс модуля (сборки, класса и т. д.) на основании метаданных, хранящихся в нём. mayton 3. Зачем я должен следить за именами H-файлов? 4. Зачем мне вообще H-файлы, если найти нужное описание класса может и сам компилятор? Управление -h файлами это в некотором роде контроль над scope vision для компиллера. Ты отделяешь, что ему надо видеть, а что нет. И элементарное управление пространством имён.Для этого существуют более разумные способы. mayton 5. Допустим, пусть есть интерфейс, но почему тогда я не могу просто написать в реализации, что в данном файле я описываю класс такой то (один раз), затем пишу имя каждого метода (без параметров, параметры будут вытягиваться из объявления) и просто писать код метода. Зачем этот бред с дублированием информации. С++ - это язык для компилятора, а не человека. Здесь нужен экскурс в историю. Дело в том, что самые первые версии компилляторов действительно были машинно- а не человеко- ориентироваными. Это проявлялось во всём. Экономия памяти в именах переменных (исходник не прогружался в ОЗУ). Оверлейные буферы. Различные расширители верхней (hi), расширенной (extended) и еще x$й знает какой памяти. Катастрофическая нехватка оперативки и чудовищно медленный дисковый интерфейс (как вариант 5.25 дюймовая дискета и никакого HDD). И сделать #include <*> было нельзя. И сегодня, ты избалованный и изнеженный 2-4 ГБ оперативки и бесконечной страничной памятью не понимаешь программистов-семидесятников. Их работа была адской. Ресурны машины надо было ЭКОНОМИТЬ. А человеко-ресурсы нет. Человеков ведь всегда много. Вот такие вот пирожки. Поэтому тяжёлое наследие первых компилляторов несут в себе очень многие языки.О том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 06:09:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv XDiaBLo wrote: > Подстановки. Подстановка тела функции в месте вызова имеется в виду ? И как это связано с inline ? То-то, что НИКАК это не связано. Именно поэтому и не будет проблем. А что такое инлайн по вашему тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:07:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLo Это делают пространства имён, гораздно удобнее, чем в названии каждого класса набивать так нелюбимый вами лишний текст. По поводу JAVA я всего лишь предлагал, если библиотека не указана, то искать имя класса во всей библиотеке. Это не отрицает пространство имен, а дополняет возможности JAVA Кроме детского-лепета о конфликте имен классов возражений я не услышал. А я кроме детского лепета об уникальных названиях всех классов в мире, тоже ничего не услышал. Я сторонник всегда всё указывать явно, поэтому данный подход попросту не одобряю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:08:53 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcIDE для сипп дают столь же ПРОСТОЕ подключение как и та же ява. только в яве куча непонятных закрутов, снижающих возможности и усложняющих понимание (например, один файл - один класс (не всегда, но в целом верно)). И что это усложняет? Я в С++ также делаю, один класс - один файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:27:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:29:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Я считаю что все кто предлагают отменить пространства имён, имеют слишком мало практики в программировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:39:35 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Я считаю что все кто предлагают отменить пространства имён, имеют слишком мало практики в программировании.Полностью с Вами согласен. Только я здесь говорил об ненужности описывать вручную метаданные модуля (в частности *.h файлы). :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 07:44:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcнапример пролог или лисп проще и быстрей решают свои задачи эта за счет чего, позвольте поинтересоваться ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:12:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv И появились языки программирования высокого уровня именно из-за того, что нужно было экономить ресурсы именно в виде ЧЕЛОВЕКОВ-ПРОГРАММИСТОВ. +1 и кстати, человекоресурсов в то время было куда меньше чем сейчас (во времена повсеместного расцвета Java) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:15:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoMasterZiv XDiaBLo wrote: > Подстановки. Подстановка тела функции в месте вызова имеется в виду ? И как это связано с inline ? То-то, что НИКАК это не связано. Именно поэтому и не будет проблем. А что такое инлайн по вашему тогда? мало что значащая (на самом деле) рекомендация компилятору ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:16:17 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( Возможно это хорошо ? У меня к примеру весьма двойственные ощущения о библиотеках насильственно включенных в стандарт языка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:17:54 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КXDiaBLoАлексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Я считаю что все кто предлагают отменить пространства имён, имеют слишком мало практики в программировании.Полностью с Вами согласен. Только я здесь говорил об ненужности описывать вручную метаданные модуля (в частности *.h файлы). :-)) Ну я описываю класс в хидере, а потом описания методов просто копирую в файл реализации, и реализую их, разве что дописав к методам имя класса. Не напрягает в принципе. Да и говорилось же уже, что можно всё в одном файле писать, без всяких метаданных, в чём проблема простите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:18:10 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)eee-pcнапример пролог или лисп проще и быстрей решают свои задачи эта за счет чего, позвольте поинтересоваться ??? Заточенность под определённые задачи возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:18:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( Возможно это хорошо ? У меня к примеру весьма двойственные ощущения о библиотеках насильственно включенных в стандарт языка А что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:21:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoGluk (Kazan)eee-pcнапример пролог или лисп проще и быстрей решают свои задачи эта за счет чего, позвольте поинтересоваться ??? Заточенность под определённые задачи возможно? Не канает C++ заточен под все задачи :) Не надо путать производительность программы и программиста, это принципиально разные понятия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:24:07 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoGluk (Kazan)XDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( Возможно это хорошо ? У меня к примеру весьма двойственные ощущения о библиотеках насильственно включенных в стандарт языка А что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и каким либо ревизиям не подлежат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:26:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoНу я описываю класс в хидере, а потом описания методов просто копирую в файл реализации, и реализую их, разве что дописав к методам имя класса. Не напрягает в принципе .Ну это как сказать... XDiaBLoДа и говорилось же уже, что можно всё в одном файле писать, без всяких метаданных, в чём проблема простите?Ну Вы же и без меня понимаете к чему это приведёт? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:28:53 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и каким либо ревизиям не подлежат Чтобы два раза не вставать, напомню особо колоритные косяки: auto_ptr, vector<bool>. Разумеется, все хотели как лучше Александреску опять же нонече много STL критикует . А не было бы STL в стандарте, глядишь нечего было бы копья ломать (кстати задел для ломку копий на будущее в лице Boost-а предусмотрительно заложен) Изменить идеи легко, изменить убеждения гораздо сложнее (c) Догма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:39:02 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КXDiaBLoНу я описываю класс в хидере, а потом описания методов просто копирую в файл реализации, и реализую их, разве что дописав к методам имя класса. Не напрягает в принципе .Ну это как сказать... XDiaBLoДа и говорилось же уже, что можно всё в одном файле писать, без всяких метаданных, в чём проблема простите?Ну Вы же и без меня понимаете к чему это приведёт? :-) А в чём тогда собственно претензии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:39:41 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Gluk (Kazan) Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и каким либо ревизиям не подлежат Чтобы два раза не вставать, напомню особо колоритные косяки: auto_ptr, vector<bool>. Разумеется, все хотели как лучше Александреску опять же нонече много STL критикует . А не было бы STL в стандарте, глядишь нечего было бы копья ломать (кстати задел для ломку копий на будущее в лице Boost-а предусмотрительно заложен) Изменить идеи легко, изменить убеждения гораздо сложнее (c) Догма Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:41:07 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. Чувствую себя не понятым (c) Где я сказал что STL или Boost это плохо ? Где я сказал что Я их не использую ??? Почему ??? любой повод надо использовать чтобы сказать (себе в основном): да, я КРУТ, я же использую Boost !!! Речь то ведь не об этом (и ты был бы более крут, если бы это понял) STL и Boost в СТАНДАРТЕ языка, вот что плохо. Внесение библиотек в стандарт мешает их развитию. Все это IMHO, разумеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:50:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА в чём тогда собственно претензии?Да ни в чём. :-) Просто согласился с Fixin в том, что ручное описание метаданных - это плохо. Из-за того, что в программу добавляется некоторая избыточность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:52:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLo Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. Чувствую себя не понятым (c) Где я сказал что STL или Boost это плохо ? Где я сказал что Я их не использую ??? Почему ??? любой повод надо использовать чтобы сказать (себе в основном): да, я КРУТ, я же использую Boost !!! Речь то ведь не об этом (и ты был бы более крут, если бы это понял) STL и Boost в СТАНДАРТЕ языка, вот что плохо. Внесение библиотек в стандарт мешает их развитию. Все это IMHO, разумеется Зря вы так. Я просто сказал что мне всё в них нравится. Я не понтовался, какой мне прок с этого? Ну а насчёт внесения в стандарт, тут есть расхожие мнения. Я вот вообще не люблю то, что в стандарт не включено. Стараюсь избегать. Буст почти стандарт, поэтому я спокоен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:56:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КXDiaBLoА в чём тогда собственно претензии?Да ни в чём. :-) Просто согласился с Fixin в том, что ручное описание метаданных - это плохо. Из-за того, что в программу добавляется некоторая избыточность. Проблема высосана из пальца. Это просто мелкое неудобство для вас и Fixin, в принципе не составляющее проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 08:57:38 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoЯ просто сказал что мне всё в них нравится. vector<bool> тоже ? идиотские нагромождения функторов, которые в итоге получаются БОЛЬШЕ по объему кода чем банальный цикл выполняющий тоже самое ТОЖЕ ??? Откройте глаза наконец. Не все мозговые игры авторитетов нужно слепо принимать на вооружение Иногда стоит подумать и своей головой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:00:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLoЯ просто сказал что мне всё в них нравится. vector<bool> тоже ? идиотские нагромождения функторов, которые в итоге получаются БОЛЬШЕ по объему кода чем банальный цикл выполняющий тоже самое ТОЖЕ ??? Откройте глаза наконец. Не все мозговые игры авторитетов нужно слепо принимать на вооружение Иногда стоит подумать и своей головой У Мейерса про это есть. Но я вполне обхожусь "банальным циклом, выполняющим то же самое". Плюс чаще всего мне приходится использовать std::vector<std::string>, а из буста я использую только регэкспы. Понятное дело, что мозг следует использовать всегда, иначе ничего путного не получится. Я ещё только погружаюсь в STL, собрался книжку прочитать. А то пока только элементарные вещи использую, но уже вижу насколько всё стало проще и удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:18:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoНо я вполне обхожусь "банальным циклом, выполняющим то же самое". Стало быть не нужно говорить, что нравится ВСЕ Желаю Вам сохранять здравомыслие и далее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:23:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КFixinответьте пожалуйста конкретно, а не со ссылкой на COM, чем будет мешать подобное разыменование. Все равно вы используете несколько областей и имена могут пересекаться. В случае пересечения имен можно выдавать ошибку типа ambigous names of classes. давайте без "идиотов" а по существу.Я лиш привёл пример, к чему может привести Ваша концепция отсутствия reference-ов. В принципе, то что Вы предлагаете уже существует в каком-то виде в C# + Visual Studio. Я набираю имя класса - IDE предлагает добавить соответствующий using. Разумеется, поиск производится среди библиотек, подключенных к проекту. ты хотя бы примерно представляешь себе цену вот этих using ? нормльно это звучит так: ты пишешь имя класса ПОЛЬНОСТЬЮ, со всеми naespace. и кто тебе мешает в сипп использовать using ? только в сипп этот using убытков не дает, а в дотнете из-за него много проблемм. в частности проще (без using) сделать нельзя. ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:26:13 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей К wrote: > О том и речь, что всё это пережитки прошлого, от которых никак не могут > избавиться, и постоянно выдумывают причины, оправдывающие их > существование. Типа: "отделим интерфейс от реализации", "нам так > удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Так ладно, что предлагаете-то ? Конкретно и по пунктам. Как заменять будем заголовочные файлы ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:27:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > А что такое инлайн по вашему тогда? Ключевое слово языка С и С++. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:28:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) человек, ты не понимаешь сипп, а пытаешься спорить. никто не застявляет тебя отделять реализацию от описания. суть в том, чтобы отделить реализацию от интерфейса. понимаешь разницу? интерфейс - абстрактный класс, т.е. без реализации. он проще и УБОБНЕЙ ЧЕЛОВЕКУ для линковки. описания и реализация гораздо больше. тот же дотнет содержит множество интерфейсов и описаний и описания БОЛЬШЕ интерфейсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:28:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pcIDE для сипп дают столь же ПРОСТОЕ подключение как и та же ява. только в яве куча непонятных закрутов, снижающих возможности и усложняющих понимание (например, один файл - один класс (не всегда, но в целом верно)). И что это усложняет? Я в С++ также делаю, один класс - один файл. да, но в сипп можно описать в одном файле много классов, а в яве - хер. в сипп можно описать множество интерфейсов или маленьких struct а в яве уже нельзя. нужно мноооого файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:30:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: например пролог или лисп проще и быстрей решают свои задачи > эта за счет чего, позвольте поинтересоваться ??? > > Заточенность под определённые задачи возможно? Нет, заточенность касается только Пролога. А лисп (Common Lisp) -- просто за счёт того, что это -- мощный и продуманный язык. При чём достаточно простой. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:31:53 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( еще раз для тех кто в танке. сипп, ява и дотнет ДЛЯ РАЗНЫХ ЗАДАЧ. нехер писать логику (хоть сколько нибудь тяжелую) не на сипп, интерфейс не на дотнете. ну и ява как полуверсия дотнета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:32:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Я считаю что все кто предлагают отменить пространства имён, имеют слишком мало практики в программировании. о боже, пространоство имен - офигенная штука. с целью "упрощения" и автоподключения using в яве и дотнете были разработаны ДЛИННЫЕ названия классов. т.е. если в сипп можно испольтзовать что ниьудь вроде system::modal::form, то в дотнете уже будет вроде следующего: system::modalforms::systemmodalform. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:34:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) wrote: > Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за > внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого > расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не > выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и > каким либо ревизиям не подлежат +100 И мало этого, бустописатели продолжают это дело и преуспели изрядно. Я понимаю, что из лучших побуждений -- лучше какая-то стандартная библиотека, чем никакой. Но так вот посреди истории языка взять и поставить его раком, и сказать, что так и нужно -- это что-то. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:35:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КXDiaBLoАлексей КО том и речь, что всё это пережитки прошлого, от которых никак не могут избавиться, и постоянно выдумывают причины, оправдывающие их существование. Типа: "отделим интерфейс от реализации", "нам так удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Я считаю что все кто предлагают отменить пространства имён, имеют слишком мало практики в программировании.Полностью с Вами согласен. Только я здесь говорил об ненужности описывать вручную метаданные модуля (в частности *.h файлы). :-)) Ну я описываю класс в хидере, а потом описания методов просто копирую в файл реализации, и реализую их, разве что дописав к методам имя класса. Не напрягает в принципе. Да и говорилось же уже, что можно всё в одном файле писать, без всяких метаданных, в чём проблема простите? в Visuaal Studio (vax) есть нормальные инструменты для, например, для изменения описания фунции. изменяешь в спп и она изменяется в h. куда уж проще ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:35:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. Без них было бы хуже. Но с их аналогами, но в другой форме, было бы гораздо лучше. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:37:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)мало что значащая (на самом деле) рекомендация компилятору фича в том, как настроишь компилятор. иногда компилятор автоматом делает inline, да так за-inline-ит, что сам диву дашься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:37:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)eee-pcнапример пролог или лисп проще и быстрей решают свои задачи эта за счет чего, позвольте поинтересоваться ??? эээ. ты видимо еще не понял. для тех кто в танке, находящемся в танке: КАЖДЫЙ ЯЗЫК ДЛЯ СВОИХ ЗАДАЧ. лисп решает генетические алгоритмы и многое другое. я как то писал на прологе взлом простых паролей. пролог делал это в сотни раз быстрее, чем перебор си. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:39:38 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. видел я вашу яву. навключали в стандарт хер значет чего. а как поняли, что плохо получилось, стали включать еще и еще. получилось хер значет что. почему вы думаете дотнет создали? что бы избавиться от неиспользуемого "многообразия" и прочей тупизны явы. ява разрабатывалась как вполне хорошее средство, вот только не получилась, или много от нее хотели. не получилось превзойти сипп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:41:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( еще раз для тех кто в танке. сипп, ява и дотнет ДЛЯ РАЗНЫХ ЗАДАЧ. нехер писать логику (хоть сколько нибудь тяжелую) не на сипп, интерфейс не на дотнете. ну и ява как полуверсия дотнета. Шутник, чем это ява вдруг полуверсией стала? Правда я её использую больше для серверных нужд, а не для интерфейса, ну дык а интерфейс я на С++ делаю дотнет летом ковырну малость, возможно будет возможность подхалтурить на нём, не хочу упустить эту возможность. Но своё пишу только на Жава и С++, хотя я никогда не брезгую новый язык изучить. Интерфейс я не стану делать на дотнете, т.к. не хочу упускать возможность запуска на *nix платформах, но при этом мне нужна мощная 3D-графика, а в этом вопросе я дотнету и жаве как-то не доверяю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:42:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLo Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. Чувствую себя не понятым (c) Где я сказал что STL или Boost это плохо ? Где я сказал что Я их не использую ??? Почему ??? любой повод надо использовать чтобы сказать (себе в основном): да, я КРУТ, я же использую Boost !!! Речь то ведь не об этом (и ты был бы более крут, если бы это понял) STL и Boost в СТАНДАРТЕ языка, вот что плохо. Внесение библиотек в стандарт мешает их развитию. Все это IMHO, разумеется а сколько в стандарте явы, так вообще зашибись. и скоро дотнет с прогресирующими версиясми фрамеворка будет не тоньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:43:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Gluk (Kazan) wrote: > Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за > внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого > расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не > выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и > каким либо ревизиям не подлежат +100 И мало этого, бустописатели продолжают это дело и преуспели изрядно. Я понимаю, что из лучших побуждений -- лучше какая-то стандартная библиотека, чем никакой. Но так вот посреди истории языка взять и поставить его раком, и сказать, что так и нужно -- это что-то. Тут следует заметить, что каждый может написать свой вектор, если не нравится стандартный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:44:09 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Алексей К wrote: > О том и речь, что всё это пережитки прошлого, от которых никак не могут > избавиться, и постоянно выдумывают причины, оправдывающие их > существование. Типа: "отделим интерфейс от реализации", "нам так > удобнее", "хитроумный способ управлять областью видимости", и т.п. :-) Так ладно, что предлагаете-то ? Конкретно и по пунктам. Как заменять будем заголовочные файлы ? они предлагают использовать ява или дотнет именование. т.е. вместо Form писать SystemModalCanShowWithCaptionThreeButtonsForm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:44:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Gluk (Kazan) wrote: > Честно говоря мне глубоко фиолетово на то что есть в Java. А вот за > внесение в стандарт C++ многочисленных косяков STL стоило бы кое кого > расстрелять из гранатомета. От включения в стандарт STL IMHO ничего не > выиграла, но проиграла очевидно много. Косяки теперь отлиты из бронзы и > каким либо ревизиям не подлежат +100 И мало этого, бустописатели продолжают это дело и преуспели изрядно. Я понимаю, что из лучших побуждений -- лучше какая-то стандартная библиотека, чем никакой. Но так вот посреди истории языка взять и поставить его раком, и сказать, что так и нужно -- это что-то. так получилась ява. какжая следующая 1.n переворачивала набор стандартов предыдущей. учитывая стремление дотнета, из него вырастает такое же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:46:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoА что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. видел я вашу яву. навключали в стандарт хер значет чего. а как поняли, что плохо получилось, стали включать еще и еще. получилось хер значет что. почему вы думаете дотнет создали? что бы избавиться от неиспользуемого "многообразия" и прочей тупизны явы. ява разрабатывалась как вполне хорошее средство, вот только не получилась, или много от нее хотели. не получилось превзойти сипп. Получилось вполне хорошо, а депрекейтед можно не использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:46:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv XDiaBLo wrote: > Ну блин, я использую и STL и boost, и мне нравится, без них было хуже. Без них было бы хуже. Но с их аналогами, но в другой форме, было бы гораздо лучше. почемы вырос стандарт? потому, что каждый что то придумывал на коленке. почему в яве или дотнете столько napspace и классов? потомуже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:46:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoШутник, чем это ява вдруг полуверсией стала? Правда я её использую больше для серверных нужд, а не для интерфейса, ну дык а интерфейс я на С++ делаю дотнет летом ковырну малость, возможно будет возможность подхалтурить на нём, не хочу упустить эту возможность. Но своё пишу только на Жава и С++, хотя я никогда не брезгую новый язык изучить. Интерфейс я не стану делать на дотнете, т.к. не хочу упускать возможность запуска на *nix платформах, но при этом мне нужна мощная 3D-графика, а в этом вопросе я дотнету и жаве как-то не доверяю. если в целом, то дотнет создавался с целью вытеснения явы. учитывая величину микрософта над саном, дотнет "круче". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:48:09 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc так получилась ява. какжая следующая 1.n переворачивала набор стандартов предыдущей. учитывая стремление дотнета, из него вырастает такое же. А что, если бы развития не было, в пещере бы сейчас сидели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:48:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) wrote: > STL и Boost в СТАНДАРТЕ языка, вот что плохо. Внесение библиотек в > стандарт мешает их развитию. Да дело не в этом. А в том, что во-первых, перед внесением в стандарт надо 20 раз хорошо подумать, продумать всё. А с STL-ем конкретно это явно не получилось. И во-вторых, вся история развития С++ до STL-я шла совсем в другом направлении, не в направлении обобщённого программирования. А в направлении compile-time и run-time полиморфизма. Кстати, RTTI в том же стандарте ввели, если не ошибаюсь, что и STL. Т.е. теперь получается, что в С++ есть два альтернативных и плохо друг с другом сочетающихся подхода к решению проблем -- ОП и ООП (посмотрите boost graph например, ООП там и не пахнет, хотя казалось бы сам Бог повелел). И что с этим далее делать (хотя уже давно делают, конечно)? Есть куча программ, написанных в ООП стиле. На, как правило, достандартных проприетарных библиотеках. И бусты с стлями, с другой стороны. Либо всё переписывать под стл и буст, а это не вдруг, либо плюнуть на новые возможности и делать всё по старинке. В итоге программисты на С++ разделяются на две части -- либо забивают на всё новомодное ОП и остаются в рамках С++ 90-х годов 20 века, либо, кто помоложе или побезрассуднее, бросаются всё переписывать на STL и буст, сломя голову. В общем, ВОТ ЭТО -- действительно проблема в С++, а заголовки, не заголовки -- это всё туфта. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:49:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pcXDiaBLoА что, в Жаве есть стандартная графическая библиотека и есть нестандартные. Выбор остался. Но я предпочитаю таки стандартную. видел я вашу яву. навключали в стандарт хер значет чего. а как поняли, что плохо получилось, стали включать еще и еще. получилось хер значет что. почему вы думаете дотнет создали? что бы избавиться от неиспользуемого "многообразия" и прочей тупизны явы. ява разрабатывалась как вполне хорошее средство, вот только не получилась, или много от нее хотели. не получилось превзойти сипп. Получилось вполне хорошо, а депрекейтед можно не использовать. я как то работал с 1.5 и надо было собрать на 1.6 и 1.4. НИХЕРА. куча ошибок, на исправления 1.6 только два дня ушло (прога - 7к) ЧТО ЭТО ЗА ЯЗЫК, в котором две соседние версии не совместимы ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:49:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей К wrote: > Да ни в чём. :-) Просто согласился с *Fixin* в том, что ручное описание > метаданных - это плохо. Из-за того, что в программу добавляется > некоторая избыточность. Да нет там никакой избыточности. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 09:50:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#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 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcлисп решает генетические алгоритмы и многое другое. я как то писал на прологе взлом простых паролей. пролог делал это в сотни раз быстрее, чем перебор си. Чепуха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:37:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoВсегда есть другие выходы. Стандарт задуман для того, чтобы, в рамках стандарта, не было других выходов. Об этом и предлагаю подумать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:38:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)XDiaBLoВсегда есть другие выходы. Стандарт задуман для того, чтобы, в рамках стандарта, не было других выходов. Об этом и предлагаю подумать Думать надо было, когда стандарт принимали, а сейчас нужно искать выходы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:48:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
softwarer ... В результате этого требуется просматривать тысячи строк кода только для того, чтобы "по-быстрому" увидеть, что и как умеет этот класс. В результате "сворачивание кода" становится необходимой фичой, поскольку чёрт возьми таки позволяет увидеть суть без шелухи, интерфейс без реализации. Я эту байду решаю путём просмотра интерфейсной части через Class Manager в IDE или через Generate Javadoc. Хотя... в общем-то признаю, что вы правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:50:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Скачал CLARION7 - только установил. IDE принципиально изменился по сравнению с 6-ой версией, (что-то знакомое - не могу вспомнить откуда): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 10:56:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin То бишь С++ написан для извращенцев, а не нормальных людей. А вы видели хоть одного нормально С/С++ программера? Под "Нормальным" я подрузамеваю, человека отлично знающего язык, имеющего большой опыт в разработке ПО. У меня достаточно много знакомых пишущих на С-ях серьезные приложения. И когда они начинают делать что то серьезное, то начинают и материться на ниском уровне. Но им жто ужастно нравится. О, да язык Си понять сложно а еще сложнее понять по какому алгоритму он строит машинный код. Без него никуда. Я тут недавно видел пост вроде в форуме С++. Точно не могу процетировать, но вроде бы MasterZiv писал. что "Если бы все писали на Си и не корявыми руками, Виста бы работала на 733 P с 256 метрами оперативы.". Цитата не дословная, а только её смысл т.ч. прощу не пинать. А я считаю что include и всякие h файлы нужны. по крайней мере компилятор из всего барахла что у него там есть будет знать какие именно я хочу модули подключить и ему будет удобно работать. А помойму при разработке программы в любом языке программист всегда работает на компилятор, что бы потом он работал на него. А в C# да там дофига всяких деректив, флагов и атрибутов. Ну например. Если надо сделать прогу которая будет использовать несколько потоков в системе, то к классу применять атрибут [MTAThread]. Компилятор же не может прочитать ваши мысли и понять чего вы хотите. Вот вы ему и описываете ситуацию. ИМХО: Си очень мошьный и инструмент в хороших руках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:08:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Может быть С-ные компиляторы требуют более подробной инфы что максимально приблизить результат в вашим ожиданиям. Одна из основных проблем человека - проблема выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:10:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Станная беседа... Овладевайте слепым 10-и пальцевым методом набора текста и это решит проблему "избыточности" языков. Ну в самом деле, ну сколько вы тратите на набивку и сколько на обдумывание решения. Набивка это ничтожное время. Там нечего уже экономить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:11:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
softwarer wrote: > Автор: "softwarer" О, тяжёлая артилерия подошла... ну, сейчас мы им покажем всем ! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:28:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Hor_netНу в самом деле, ну сколько вы тратите на набивку и сколько на обдумывание решения. Набивка это ничтожное время. Там нечего уже экономить.Проекты бывают разные. Видимо Вам повезло с вашими проектами, при реализации которых приходится думать. А бывают проекты, где всё давным давно уже обдумано, и само по себе программирование давно превратилось в тупое набивание текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:30:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gds wrote: > форуме С++. Точно не могу процетировать, но вроде бы *MasterZiv* писал. > что "Если бы все писали на Си и не корявыми руками, Виста бы работала на > 733 P с 256 метрами оперативы.". Цитата не дословная, а только её смысл > т.ч. прощу не пинать. Не, я такого не писал. И не мог. Потому что я не люблю С и не вижу смысла на нём сейчас писать. Надо хотя бы на С++ Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:30:48 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста. нивсегда. Можно сначала объявить using Class1 = ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс. using Class2 = ДлинныйСпайсНаймКомпании2.ДлинныйИлиНеОченьДлинныйКласс. и потом использовать только Class1 и Class2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:38:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Hor_netСтанная беседа... Овладевайте слепым 10-и пальцевым методом набора текста и это решит проблему "избыточности" языков. Ну в самом деле, ну сколько вы тратите на набивку и сколько на обдумывание решения. Набивка это ничтожное время. Там нечего уже экономить.+500. имхо, конечно, но проекты, в которых "всё уже продумано за нас" имеют малое отношение к программированию, они скорее относятся к категории машинистки-оператора ЭВМ. И, моё железное имхо состоит в том, что нужно переходить на другие проекты или другие уровни в профессии, а не предьявлять языкам и средам претензии, что они ещё не всё делают за вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:52:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Ребята. Набивка, вёрстка - это всё RAD-s, maker, builders. И это к сабжу не имеет отношения! Не отклоняйтесь от темы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 11:58:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton, я вот уже 8 страниц прочитал, и так и не понял в чём начальный поинт топика чувствуется, что парни недовольны, но вот чем, сформулировать у них толком не получается до сих пор. к примеру, посмотрел свой самый толстый файл в проекте. общее число строк - 1629, строк кода - 1329, пустых строк - 187, комментариев - 113. "паразитных" строк, с точки зрения автора - 27! о чём речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:16:54 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonРебята. Набивка, вёрстка - это всё RAD-s, maker, builders. И это к сабжу не имеет отношения! Да как сказать... Язык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. п. Зачем это надо? Или программисты С++ пишут сразу правильные программы, и им не приходится заниматься рефакторингом? Например, в C# перенос группы полей и методов в другой класс - это тупо копипаст куска текста без изменений. А вот в С++, благодаря его синтаксису, эта операция несколько сложнее. ЗЫ: Пишу на C# и радуюсь, что больше не приходится сталкиваться с С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:20:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КНапример, в C# перенос группы полей и методов в другой класс - это тупо копипаст куска текста без изменений. А вот в С++, благодаря его синтаксису, эта операция несколько сложнее.2 копипаста и автоматическое изменение текста по заданному шаблону? это напрягает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:28:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КЯзык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. При таком раскладе, пусть топикстартер остаётся на 1С и концентрируется на предметной области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:30:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
egorych2 копипаста и автоматическое изменение текста по заданному шаблону? это напрягает?Конечно. XDiaBLoАлексей КЯзык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. При таком раскладе, пусть топикстартер остаётся на 1С и концентрируется на предметной области.Я не топикстартер. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:33:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КНапример, в C# перенос группы полей и методов в другой класс - это тупо копипаст куска текста без изменений. А вот в С++, благодаря его синтаксису, эта операция несколько сложнее. Мне кажется это неудачный пример. Как часто вам приходится копи-пастить пачку полей? Меня больше беспокоит огромное количество псевдо-типов, которыми оброс С++ за последние 20 лет. Одних строковых не меньше десятка. Под каждую библиотеку, технологию есть свой *Xstring. А теперь представьте что вам надо стыковать эти разные технологии вместе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:37:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей Кegorych2 копипаста и автоматическое изменение текста по заданному шаблону? это напрягает?Конечно. XDiaBLoАлексей КЯзык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. При таком раскладе, пусть топикстартер остаётся на 1С и концентрируется на предметной области.Я не топикстартер. :-) А вам пора бы перейти на 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:46:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonМне кажется это неудачный пример. Как часто вам приходится копи-пастить пачку полей?Ну всякое бывает. Раньше такое частенько бывало. Теперь реже. Но бывает. :-) maytonМеня больше беспокоит огромное количество псевдо-типов, которыми оброс С++ за последние 20 лет. Одних строковых не меньше десятка. Под каждую библиотеку, технологию есть свой *Xstring. А теперь представьте что вам надо стыковать эти разные технологии вместе.Это да. К вопросу: "нужны ли в С++ стандартные библиотеки". :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:47:12 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА вам пора бы перейти на 1С.Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:47:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonАлексей КНапример, в C# перенос группы полей и методов в другой класс - это тупо копипаст куска текста без изменений. А вот в С++, благодаря его синтаксису, эта операция несколько сложнее. Мне кажется это неудачный пример. Как часто вам приходится копи-пастить пачку полей? Меня больше беспокоит огромное количество псевдо-типов, которыми оброс С++ за последние 20 лет. Одних строковых не меньше десятка. Под каждую библиотеку, технологию есть свой *Xstring. А теперь представьте что вам надо стыковать эти разные технологии вместе. Ага, у меня в программах используется AnsiString, string и местами char* встречается. Преобразовывать постоянно приходится. Надоело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:47:41 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КXDiaBLoА вам пора бы перейти на 1С.Почему? Ну я думаю там можно больше о предметной области думать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:51:28 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАга, у меня в программах используется AnsiString, string и местами char* встречается. Преобразовывать постоянно приходится. Надоело. Ага. А теперь подключи какой-нибудь Oracle-OCI клиент (классическая двузвенка) и получишь ещё один уникальный и ни с чем не совместимый тип строк. И так далее до коматозного состояния :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:52:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КЭто да. К вопросу: "нужны ли в С++ стандартные библиотеки". :-) Как показывает практика, именно стандартные библиотеки и привели к такой плачевной ситуации :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:52:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonXDiaBLoАга, у меня в программах используется AnsiString, string и местами char* встречается. Преобразовывать постоянно приходится. Надоело. Ага. А теперь подключи какой-нибудь Oracle-OCI клиент (классическая двузвенка) и получишь ещё один уникальный и ни с чем не совместимый тип строк. И так далее до коматозного состояния :) OCCI использует std::string, OCI - char* Ась ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:53:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonXDiaBLoАга, у меня в программах используется AnsiString, string и местами char* встречается. Преобразовывать постоянно приходится. Надоело. Ага. А теперь подключи какой-нибудь Oracle-OCI клиент (классическая двузвенка) и получишь ещё один уникальный и ни с чем не совместимый тип строк. И так далее до коматозного состояния :) У меня ODAC, для доступа к Ораклу, не замечал в нём никаких особых типов строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:56:12 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytoneee-pcлисп решает генетические алгоритмы и многое другое. я как то писал на прологе взлом простых паролей. пролог делал это в сотни раз быстрее, чем перебор си. Чепуха. статистика упрямая весчь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:56:41 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcmaytoneee-pcлисп решает генетические алгоритмы и многое другое. я как то писал на прологе взлом простых паролей. пролог делал это в сотни раз быстрее, чем перебор си. Чепуха. статистика упрямая весчь есть ложь, наглая ложь и статистика :) вы ее имеете в виду ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:57:48 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КXDiaBLoА вам пора бы перейти на 1С.Почему? Ну я думаю там можно больше о предметной области думать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:57:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdseee-pc ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста. нивсегда. Можно сначала объявить using Class1 = ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс. using Class2 = ДлинныйСпайсНаймКомпании2.ДлинныйИлиНеОченьДлинныйКласс. и потом использовать только Class1 и Class2 а потом придет дядя петя, и скачает либу с class1, какой будет результат ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 12:58:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonМеня больше беспокоит огромное количество псевдо-типов, которыми оброс С++ за последние 20 лет. Одних строковых не меньше десятка. Под каждую библиотеку, технологию есть свой *Xstring. А теперь представьте что вам надо стыковать эти разные технологии вместе. а сколько кодировок появилось за это время, ппц. почему например все flash видео сайты делают свой формат, не совместимый с другими ? тоже и здесь. это не си заставляет делать си-строки (кстати сказать, что си-строки вполне достойны, кроме того, самые быстрые из всех). это удары под ребра заставляют крутится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:00:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoMasterZiv XDiaBLo wrote: > Если не объявлять интерфейс отдельно в С++ например, то методы будут > inline, насколько мне известно, а это не всегда то что нужно. Они будут inline, но это никому не мешает ни в чём. Так ведь размер кода может сильно вырасти, разве нет? Здесь многое от контекста зависит. Давайте отделим мух от котлет. Размер кода был критичен раньше, когда ОП в машинах было 64kb. Размер кода критичен при разработке драйверов и микропрошивок различных устройств. Если Вы ратуете за компактность кода - Assembler к вашим услугам. Далее, давайте не будем путать размер кода и его производительность - это далеко не одно и то же. Да, действительно, при встраивании процедур/функций код несколько пухнет, НО, например, в глубоко вложенных циклах потери на накладные расходы, связанные с вызовом функций столь велики, что встраивание - наиболее эффективный подход для повышения быстродействия. А на линейных участках кода - на современных машинах совершенно несущественно - встроенная функция или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:01:48 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Алексей КЭто да. К вопросу: "нужны ли в С++ стандартные библиотеки". :-) Как показывает практика, именно стандартные библиотеки и привели к такой плачевной ситуации :) поясните. стандартные библиотеки привели к проблемме ??? тогда ява и дотнет обречены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:02:13 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)есть ложь, наглая ложь и статистика :) вы ее имеете в виду ? да без проблемм. считаем a=b!!! (такое число, что б в память влезло) на -ерланге -прологе -сипп -си -маталабе -дотнет -ява два последних явно в аутсайдерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:04:02 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcGluk (Kazan)Алексей КЭто да. К вопросу: "нужны ли в С++ стандартные библиотеки". :-) Как показывает практика, именно стандартные библиотеки и привели к такой плачевной ситуации :) поясните. стандартные библиотеки привели к проблемме ??? тогда ява и дотнет обречены.Видимо, речь идёт не о самом факте существования стандартных библиотек, а о их количестве. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:05:03 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherЗдесь многое от контекста зависит. Давайте отделим мух от котлет. Размер кода был критичен раньше, когда ОП в машинах было 64kb. Размер кода критичен при разработке драйверов и микропрошивок различных устройств. Если Вы ратуете за компактность кода - Assembler к вашим услугам. современные компиляторы (кстати, ВСЕ современные компиляторы написаны на си или сипп) умеют делать как favor speed (fast code) так и favor size (small size) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:05:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcGluk (Kazan)Алексей КЭто да. К вопросу: "нужны ли в С++ стандартные библиотеки". :-) Как показывает практика, именно стандартные библиотеки и привели к такой плачевной ситуации :) поясните. стандартные библиотеки привели к проблемме ??? тогда ява и дотнет обречены. Все та же - STL. Уважаемый mayton поминал Oracle клиент. OCCI действительно использует std::string НО той версии с которой он собирался И как только начинаешь стыковать это со своим приложением собранным с другой версией ... шоу начинается. Далее все CString и QString и есть не что иное как std::string, но лишенные "фатального недостатка" (т.е. написанные собственными силами). STL подлил много масла в этот огонь, а Boost - продолжает достойную традицию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:06:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcGluk (Kazan)есть ложь, наглая ложь и статистика :) вы ее имеете в виду ? да без проблемм. считаем a=b!!! (такое число, что б в память влезло) на -ерланге -прологе -сипп -си -маталабе -дотнет -ява два последних явно в аутсайдерах. а на чем написан Erlang ??? Ты мне лучше обрисуй что это ты на прологе за чудо алгоритм нашел для подбора паролей, который лучше брутфорса ? Не только mayton-а терзают смутные сомнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:08:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcgdseee-pc ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста. нивсегда. Можно сначала объявить using Class1 = ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс. using Class2 = ДлинныйСпайсНаймКомпании2.ДлинныйИлиНеОченьДлинныйКласс. и потом использовать только Class1 и Class2 а потом придет дядя петя, и скачает либу с class1, какой будет результат ?Разумеется, такое возможно, но это уже будет верх невезения. Главное, что скомпилированный код будет работать. А при перекомпеляции не беда, поправим если что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:09:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcmaytonМеня больше беспокоит огромное количество псевдо-типов, которыми оброс С++ за последние 20 лет. Одних строковых не меньше десятка. Под каждую библиотеку, технологию есть свой *Xstring. А теперь представьте что вам надо стыковать эти разные технологии вместе. а сколько кодировок появилось за это время, ппц. почему например все flash видео сайты делают свой формат, не совместимый с другими ? тоже и здесь. это не си заставляет делать си-строки (кстати сказать, что си-строки вполне достойны, кроме того, самые быстрые из всех). это удары под ребра заставляют крутится С какой стати си-строки самые быстрые? Вы Джоэла не читали? Там используется алгоритм маляра Шлемиля. Они медленные, дальше некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:10:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLoMasterZiv XDiaBLo wrote: > Если не объявлять интерфейс отдельно в С++ например, то методы будут > inline, насколько мне известно, а это не всегда то что нужно. Они будут inline, но это никому не мешает ни в чём. Так ведь размер кода может сильно вырасти, разве нет? Здесь многое от контекста зависит. Давайте отделим мух от котлет. Размер кода был критичен раньше, когда ОП в машинах было 64kb. Размер кода критичен при разработке драйверов и микропрошивок различных устройств. Если Вы ратуете за компактность кода - Assembler к вашим услугам. Далее, давайте не будем путать размер кода и его производительность - это далеко не одно и то же. Да, действительно, при встраивании процедур/функций код несколько пухнет, НО, например, в глубоко вложенных циклах потери на накладные расходы, связанные с вызовом функций столь велики, что встраивание - наиболее эффективный подход для повышения быстродействия. А на линейных участках кода - на современных машинах совершенно несущественно - встроенная функция или нет Я всё это знаю. Изначально я говорил:"Это не всегда то, что нужно". В этой фразе и суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:12:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherЕсли Вы ратуете за компактность кода - Assembler к вашим услугам. Кстати я писал на ассемблере, а в универе даже всю группу натаскивал сдавать практику, за что мне препод поставил все пятёрки за семестр, лишь бы самому с ними не париться. Но практического смысла писать на нём что-то объёмное, не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:15:31 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)eee-pcGluk (Kazan)есть ложь, наглая ложь и статистика :) вы ее имеете в виду ? да без проблемм. считаем a=b!!! (такое число, что б в память влезло) на -ерланге -прологе -сипп -си -маталабе -дотнет -ява два последних явно в аутсайдерах. а на чем написан Erlang ??? Ты мне лучше обрисуй что это ты на прологе за чудо алгоритм нашел для подбора паролей, который лучше брутфорса ? Не только mayton-а терзают смутные сомнения здесь суть не в том, на чем написан ерланг, а как он выполняет программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:18:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoС какой стати си-строки самые быстрые? Вы Джоэла не читали? Там используется алгоритм маляра Шлемиля. Они медленные, дальше некуда. какое какой алгоритм в char* используется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:20:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc здесь суть не в том, на чем написан ерланг, а как он выполняет программу. ага именно в этом что-то мне этот код напоминает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:22:28 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoС какой стати си-строки самые быстрые? Вы Джоэла не читали? Там используется алгоритм маляра Шлемиля. Они медленные, дальше некуда. какое какой алгоритм в char* используется ? Не в char*, а в алгоритме присоединения строки к другой строке. Вот как к примеру узнать длину сишной строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:25:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pcXDiaBLoС какой стати си-строки самые быстрые? Вы Джоэла не читали? Там используется алгоритм маляра Шлемиля. Они медленные, дальше некуда. какое какой алгоритм в char* используется ? Не в char*, а в алгоритме присоединения строки к другой строке. Вот как к примеру узнать длину сишной строки? а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:27:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Aklin J а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет. Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:35:42 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixinслучайныйнаборсимволовтутТоварищ просто никогда в жизни не писал серьезных программ, не работал в команде... Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут? Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло... Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак в командной разработке, да? Давайте поговорим про H-файлы. О, вы прозрели! Я же тут про это уже упоминал, и не только я. Именно так, вы пишете реализацию и интерфейс, а остальные в команде, используя ваши классы, видят только интерфейс. Это как чёрный ящик. Удобно. Это не удобно ))) Это так и должно быть у белых людей ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:37:24 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoAklin J а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет. Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Код: plaintext 1. 2. 3. 4. 5. причем всегда *c == 0, ну а быстрее вы не найдете. то же с парсингом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:37:40 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
ну яЭто не удобно ))) Это так и должно быть у белых людей ))) поясните. "неудобно должны быть", "неудобно у белых людей" ??? разница в двух позициях 1) скорость набора текста (признайне, что набор занимает времени меньше, чем анализ и проектирование) 2) дотнет неявно (я явно криво с точки зрения динковки) генерит нечто, похожее на headers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:39:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Aklin JXDiaBLoAklin J а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет. Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Код: plaintext 1. 2. 3. 4. 5. причем всегда *c == 0, ну а быстрее вы не найдете. то же с парсингом. Я знаю что всегда можно найти обходные пути, но стандартные функции неэффективны. Джоэл приводит функцию Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:54:54 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Хотя при копировании проверки по любому будут, просто тут ещё и поиск конца первой строки о_О А если она большая??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:56:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Aklin Jну яЭто не удобно ))) Это так и должно быть у белых людей ))) поясните. "неудобно должны быть", "неудобно у белых людей" ??? разница в двух позициях 1) скорость набора текста (признайне, что набор занимает времени меньше, чем анализ и проектирование) 2) дотнет неявно (я явно криво с точки зрения динковки) генерит нечто, похожее на headers Явно криво, если руки кривые. Компилятор ошибку выдаст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 13:57:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Интересно, как будет происходить работа с многобайтовыми кодировками(utf8/16 и т.п.)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:23:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
По сабжу: автор поста, не в обиду будь сказано, весьма смутно представляет себе тему, которую он взялся обсуждать. Так что за смелость - 5, за "реализацию" - 2. Можно оспорить практически любое высказывание автора, возьмем хотя бы первое: "Языки высокого уровня были задуманы, чтобы облегчить программирование по сравнению с ассемблером и машинным кодом". А кто Вам сказал, уважаемый Fixin, что на асме программировать сложнее, чем на языке высокого уровня? Я считаю, что наоборот, освоить ассемблер легче и ассемблерный код(написанный человеком, а не сгенерированный компилятором) гораздо проще для понимания, чем некоторые концепции ООП. Можно говорить о том, что для определенных классов задач язык высокого уровня подходит несравненно лучше, а где-то ассемблер просто незаменим. И задумывались языки высокого уровня всё же не для того, чтобы чего-то там облегчить, просто когда программисты осознали, что им предстоит решать целый пласт новых задач, стало понятно, что сделать это можно только тогда, когда есть некая компьютерная модель, позволяющая добиться определенного уровня абстракции при проектировании для успешной реализации новых усложнившихся задач из реальной жизни. Так и стали развиваться высокоуровневые языки. Что касается конкретных ваших "претензий" к языкам, то здесь тоже, мягко говоря, почти всё притянуто за уши. Меня "порадовала" ваша страшилка "Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы ...следить, чтобы заголовочные файлы не включались дважды. Одно это отталкивает от Си++, несмотря на все преимущества ООП" Друг мой, Вы просто не умеете их готовить) Почитайте Страуструпа, он про компоновку исходного кода достаточно подробно расписывает. Насчет интерфейса класа и его реализации...ммм, ну Вам уже про это тоже написали). Учите мат.часть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:25:31 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc ... современные компиляторы (кстати, ВСЕ современные компиляторы написаны на си или сипп) умеют делать как favor speed (fast code) так и favor size (small size) Мы о разных вещах говорим - я имею в виду принципиальную разницу между низкоуровневыми и высокоуровневыми языками, я не говорю про настройки оптимизатора кода конкретных современных реализаций языков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:32:35 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcgdseee-pc ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста. нивсегда. Можно сначала объявить Код: plaintext 1. а потом придет дядя петя, и скачает либу с class1, какой будет результат ? Если у него есть либы этих двух компаний. то по сути никакого т.к. Class1 и Class2 это всего лишь объявленные ссылки. Если у него нет этих либ, то и длинные имена тоже не помогут. Тут я просто хотел показать как можно сократить длинные имена в кородкие что бы не пришлось автор использовать ДЛИННЫЕ ИМЕНА КЛАССОВ , что очевидно замедляет процесс набора текста. По сути дядя Петя если хочет может использовать длинные имена. Ведь сигратура и эквивалентность типов/классов останится. т.е. если используешь автор два класса имеют одно и то же имя Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:42:17 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gds ... ИМХО: Си очень мощный инструмент в хороших руках. Золотые слова ваши. Присоединяюсь. Можно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки. Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:44:17 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcher, Насчёт ассемблера, достаточно крупные куски кода, непонятны даже автору, если не стоят комментарии на каждую строчку. Я смотрел свой код, через полгода после написания, еле разобрался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:44:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo ... Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Не быстрые по сравнению с чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:46:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherМожно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки. Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично Позвольте с Вами не согласиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:47:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktchergds ... ИМХО: Си очень мощный инструмент в хороших руках. Золотые слова ваши. Присоединяюсь. Можно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки. Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично А если сроки не заданы, то он ещё и своих инструментов понаделает, чисто ради развлечения :) Никтож не спорит, что выбор инструментов есть, и все имеют плюсы и минусы, но вот как раз минусы тут и обсуждаются :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:48:14 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLo ... Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Не быстрые по сравнению с чем? Да по сравнению с типами строк, где не нужно вычислять длину этих самых строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:49:52 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo, согласен, комментить надо). И высокоуровневые сорцы - в т.ч. Без коментов Вы и в С++ проекте через полгода тоже будете репу чесать. Но только асм с умом надо использовать - не надо больших кусков кода на асме писать. Если у Вас проект высокоуровневый, можно использовать отдельные небольшие вставки на асме в местах, критичных к быстродействию. Тогда всё будет гут. Если же Вы чего-то на асме отдельное лабаете - структурируйте лучше исходники, конечно, комментьте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:51:31 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherНастоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично +1. Я тоже так считаю. Заказчику важно что твоя прога работает, а не сколько там строк и на чем она написана. Конечно сейчас могут пойти возражения, типа мне платят за количество строк и т.п. Уверяю вас грамотро отлаженный код в 100 строк будет куда дороже стоить его аналогу написанный любителем или делетинтом в 200 или 300. Не в количестве дело, а в качестве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:52:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLonicktcherXDiaBLo ... Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Не быстрые по сравнению с чем? Да по сравнению с типами строк, где не нужно вычислять длину этих самых строк. Чисто теоретически - да. А что с чем Вы конкретно сравнивали? И какие операции со строками имеете в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:53:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsnicktcherНастоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично +1. Я тоже так считаю. Заказчику важно что твоя прога работает, а не сколько там строк и на чем она написана.Неверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 14:58:33 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLonicktcherXDiaBLo ... Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке. Не быстрые по сравнению с чем? Да по сравнению с типами строк, где не нужно вычислять длину этих самых строк. Чисто теоретически - да. А что с чем Вы конкретно сравнивали? И какие операции со строками имеете в виду? Зачем мне это делать? Джоэл уже про это давно написал http://russian.joelonsoftware.com/Articles/BacktoBasics.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:01:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей К ... Неверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект. Неверная архитектура - безусловно крах проекта. Насчет средств разработки - совершенно не согласен. Кривые руки и недостаток опыта разработчика - могут, а средства разработки здесь при чем?)). Любую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:05:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherЛюбую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим.Традиционно, есть БД, нужно к ней прикрутить серверную логику. Варианты: 1. На хранимых процедурах в SQL. 2. .Net или Java 3. C++ или Delphi ИМХО: Последние два ну никак не подходят для этой задачи. Их выбор для этой задачи может обернуться крахом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:12:02 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КНеверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект. Дык никто и не спорит. Просто если я считаю, что при выполении поставенной задачи сперва надо определить цели и ньюансы, а затем выбирать язык. Ну к примеру, что бы не быть голословным. Исходные данные: Кол-во пользователей: 10+ ОС: Windows XP + может быть небольшой % vista Прога: Складской учет. БД: Oracle, MSSQL,Postgress и т.д. кому что нравиться. (я выберу oracle т.к. работаю с ним достаточно давно) Интерфейс: Delphi, C#, С++ (я выберу delphi, т.к. у меня в ней дольше опыта и я писал уже такие системы. к тому же винда XP. По поводу висты наджо сначала протестить). з.ы. Конечно для себя я бы выбрал C# что бы отладить свои знания на конкретномпримере, но сейчас нас интересует качество и скорость разработки. При таких исходных данных я напишу несложную систему за сутки, вместе с тестированием. Ну или тестирование перенесу. это не столь важно. для брони давайте 2-е суток. Хоть я и знаю достаточно много языков, я выберу этот т.к. 1. Я уже разрабатывал такого рода приложения. 2. Я уже представляю некий план действий. 3. Я знаю какими компонентами или классами я буду пользоваться. Второй пример: Исходные данные: Кол-во пользователей: 1 или 2 ОС: vista, 2008,seven Прога: Какой нить конвертор. Например графический. Интерфейс: Delphi, C#,С++ (я выберу C# и С++, т.к. NET уже встроен в систему, Ядро под NET более заточенно.). На С++ я напишу саму математику(логику) обработки. И подключу её в C#. к тому же много разных флагов позволяют управлять памятью и процессорами, потоками и т.п. На реализацию у меня может уйти чуть больше времени чем я разланирую. т.к. надо сперва разработать Т.З. и учесть все ньюансы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:29:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo, Я бы не хотел тут развязывать священных войн между паскальщиками и Сишниками)). Я делал проекты как на Дельфях, так и на С++ и хорошо представляю себе сильные и слабые стороны обоих этих языков, также уважаю Джоэла как толкового популяризатора, поэтому спорить с ним было бы нескромно с моей стороны))). Одно только замечание: В плане быстродействия очень многое зависит от реализации языка. В т.ч. и при работе со строками. Возьмем С++. Многочисленное семейство функций str.. в стандартной библиотеке, так же, как и работа со строковыми массивами посредством выделения памяти из кучи - это всё поддерживается уже больше в целях совместимости со старыми исходниками и старыми проектами, написанными в стиле С, нежели для современных проектов. Если Вам так претит поиск завершающего нуля для сишной строки - не используйте строки в стиле char * . Используйте контейнер String , который Вам так же предоставляет STL. Подумайте - если Вы, скажем, копируете или ещё как манипулируете одной очень большой строкой и/или делаете всё это в циклах, то накладные расходы на определение длины вашей строки по сравнению со временем окончания самой операции копирования просто мизерны и смешно говорить об этом как о недостатке по сравнению с тем же паскалем. Прошерстить строку в оперативке в поиске нуля - это в современной машине - тьфу и растереть. Ненамного дольше, чем считать первый байт паскальной строки, чтобы этим пренебречь Другое дело, что тут подводные камни, связанные с надежностью, с переполнениями и т.п., но не будем в это вдаваться, а то точно утонем). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:33:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КnicktcherЛюбую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим.Традиционно, есть БД, нужно к ней прикрутить серверную логику. Варианты: 1. На хранимых процедурах в SQL. 2. .Net или Java 3. C++ или Delphi ИМХО: Последние два ну никак не подходят для этой задачи. Их выбор для этой задачи может обернуться крахом. Мне показалось или вы не совсем корректную задачу привели. Если правильно понял речь идет о языках программирования. Несомненно Серверную логику надо реализовывать в самой БД. Процедуры, триггеры, Курсоры, Функции, пакеты, и т.п. Но тогда задача приложения сводиться к тому, чтобы: послать селект, получить данные, отобразить инфу, внести инфу в БД через процу. со всеми этими задачами вспавятся я думаю все перечисленные вами языки и IDE. Но на мой взгляд самым отпимальным было бы либо delphi либо C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:39:06 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLo, Я бы не хотел тут развязывать священных войн между паскальщиками и Сишниками)). Я делал проекты как на Дельфях, так и на С++ и хорошо представляю себе сильные и слабые стороны обоих этих языков, также уважаю Джоэла как толкового популяризатора, поэтому спорить с ним было бы нескромно с моей стороны))). Одно только замечание: В плане быстродействия очень многое зависит от реализации языка. В т.ч. и при работе со строками. Возьмем С++. Многочисленное семейство функций str.. в стандартной библиотеке, так же, как и работа со строковыми массивами посредством выделения памяти из кучи - это всё поддерживается уже больше в целях совместимости со старыми исходниками и старыми проектами, написанными в стиле С, нежели для современных проектов. Если Вам так претит поиск завершающего нуля для сишной строки - не используйте строки в стиле char * . Используйте контейнер String , который Вам так же предоставляет STL. Подумайте - если Вы, скажем, копируете или ещё как манипулируете одной очень большой строкой и/или делаете всё это в циклах, то накладные расходы на определение длины вашей строки по сравнению со временем окончания самой операции копирования просто мизерны и смешно говорить об этом как о недостатке по сравнению с тем же паскалем. Прошерстить строку в оперативке в поиске нуля - это в современной машине - тьфу и растереть. Ненамного дольше, чем считать первый байт паскальной строки, чтобы этим пренебречь Другое дело, что тут подводные камни, связанные с надежностью, с переполнениями и т.п., но не будем в это вдаваться, а то точно утонем). Во-первых я просто ответил на высказывание что сишные строки быстрее всего. Я сказал что это неправда, бывают строки и получше стандартных сишных. И всё. А во-вторых не String, а string. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:42:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsАлексей КnicktcherЛюбую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим.Традиционно, есть БД, нужно к ней прикрутить серверную логику. Варианты: 1. На хранимых процедурах в SQL. 2. .Net или Java 3. C++ или Delphi ИМХО: Последние два ну никак не подходят для этой задачи. Их выбор для этой задачи может обернуться крахом. Мне показалось или вы не совсем корректную задачу привели. Если правильно понял речь идет о языках программирования. Несомненно Серверную логику надо реализовывать в самой БД. Процедуры, триггеры, Курсоры, Функции, пакеты, и т.п. Но тогда задача приложения сводиться к тому, чтобы: послать селект, получить данные, отобразить инфу, внести инфу в БД через процу. со всеми этими задачами вспавятся я думаю все перечисленные вами языки и IDE. Но на мой взгляд самым отпимальным было бы либо delphi либо C#. Совершенно согласен, gds. Алексей К, неудачный пример. Серверная логика всегда реализуется именно средствами БД, а не прикладными высокоуровневыми языками. Для коннекта с любой БД есть универсальный подход с ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:45:15 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Кстати насколько я знаю, в Оракле есть возможность писать встроенные процедуры на жаве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:48:34 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoКстати насколько я знаю, в Оракле есть возможность писать встроенные процедуры на жаве да да имено так оно и есть. Если у вас есть поддержка явы. Там даже компонент идет в компдекте Java SDK. Но мне ближе к душе PL/SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:51:09 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo, Правильно, молодец)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:51:45 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherСовершенно согласен, gds. Алексей К, неудачный пример. Серверная логика всегда реализуется именно средствами БД, а не прикладными высокоуровневыми языками. Для коннекта с любой БД есть универсальный подход с ODBCОткуда тогда беруться холивары на тему "n-tier" vs "логика в SQL"? :-) Я не сторонник выноса логики из СУБД без особых на то причин. Я лишь хотел привести необоснованный вынос логики из СУБД в качестве примера выбора неверной архитектуры, и, как следствие, неверных средств разработки. Впрочем, если Вы считаете пример неудачным - я не настаиваю. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:57:53 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLo, Правильно, молодец)) Это насчёт пункта 2 авторТрадиционно, есть БД, нужно к ней прикрутить серверную логику. Варианты: 1. На хранимых процедурах в SQL. 2. .Net или Java 3. C++ или Delphi ИМХО: Последние два ну никак не подходят для этой задачи. Их выбор для этой задачи может обернуться крахом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:57:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsXDiaBLoКстати насколько я знаю, в Оракле есть возможность писать встроенные процедуры на жаве да да имено так оно и есть. Если у вас есть поддержка явы. Там даже компонент идет в компдекте Java SDK. Но мне ближе к душе PL/SQL. Ага, вообще конечно, надо использовать наиболее подходящий инструмент для соответствующей ситуации. Действительно, СУБД Oracle оснащена встроенной JVM, что позволяет встраивать прям в базу соответствующие жавные процедуры. Но сам Oracle всегда настойчиво подчеркивает, что для серверной части оптимальным по быстродействию будет использование PL/SQL, а Java предназначен больше для использования в промежуточном слое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 15:58:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktchergdsXDiaBLoКстати насколько я знаю, в Оракле есть возможность писать встроенные процедуры на жаве да да имено так оно и есть. Если у вас есть поддержка явы. Там даже компонент идет в компдекте Java SDK. Но мне ближе к душе PL/SQL. Ага, вообще конечно, надо использовать наиболее подходящий инструмент для соответствующей ситуации. Действительно, СУБД Oracle оснащена встроенной JVM, что позволяет встраивать прям в базу соответствующие жавные процедуры. Но сам Oracle всегда настойчиво подчеркивает, что для серверной части оптимальным по быстродействию будет использование PL/SQL, а Java предназначен больше для использования в промежуточном слое. Когда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:01:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Когда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) нет, нет, они не ограничены конечно и насильно никто не заставляет, просто в Oracle очень хорошо отшлифован уже стык между ядром PL/SQL и ядром SQL (это ж всё таки родственнички!), вот там как раз выигрыш по сравнению с Java-машиной существенный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:06:57 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc а сколько кодировок появилось за это время, ппц. почему например все flash видео сайты делают свой формат, не совместимый с другими ? тоже и здесь. это не си заставляет делать си-строки (кстати сказать, что си-строки вполне достойны, кроме того, самые быстрые из всех). это удары под ребра заставляют крутится 1) Честно говоря я не понял связи с flash video. Возможно вы имели в виду что-то другое? 2) C-строки не могут быть быстрыми или медленными. Они не могут быть никакими потоу что их просто не существует. Есть некая каноническая библиотека (объявленная string.h) для работы с ASCIIZ-массивами. С этого начинается любое программирование строк на низком уровне.И все начинающие сишники её изучают. Это как ассемблер. Но она не лишена недостатков. Например, довольно сложно сделать return string из функции, особенно если она рекурсивная. Сложно конкатенировать строки в условиях расположения в стеке. И еще много чего сложно. Есть также немалый процент нареканий со стороны безопасности С-кода. Существуют эксплоиты, испольуют атаку на ASCIIZ массивы. Но..... существует масса прикладных библиотек. Каждая из которых навязывает свою собственную концепцию работы со строками. MFC, VCL, STL, и прочие *L создают свой собственный ни с чем не совместимый набор абстракций. Но ни одна из них так и не стала частью ЯЗЫКА. Они по прежнему остаются custom-библиотеками. И программист С++ должен лавировать между ними, выбирая удобную для себя методику. А когда методик несколько.... начинается АЛИС КАПУТ, о котором мы писали выше. По поводу скорости. Мне сложно говорить без сравнительных примеров и бенчмарков, поэтому, если возникнет желание - давайте поднимем отдельный тред, в котором сравним скорость поиска подсроки в строке для различных library. Если этот тест покажется вам неполным или недостаточным - предложите свой. Я буду не против. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:09:47 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей К Я не сторонник выноса логики из СУБД без особых на то причин. Я лишь хотел привести необоснованный вынос логики из СУБД в качестве примера выбора неверной архитектуры, и, как следствие, неверных средств разработки. Впрочем, если Вы считаете пример неудачным - я не настаиваю. :-) Я тоже не сторонник выноса логики за пределы БД. Но зачастую иногда бывает это единственным выходом, по разным на то причинам. Например единая (своеобразная) обработка данных для нескольких модулей в Комплектном ПО. И если это случилось, то в "идеальном" варианте я бы написал эту логику на С/С++ - если надо обеспечить максимально бытродействие, а потом подключил бы куда мне удобно. Хоть к Delphi, хоть к C#, хоть к C++, хоть к Java - если она позволяет. Поправде говоря ни разу не писал на ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:11:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Aklin Jну яЭто не удобно ))) Это так и должно быть у белых людей ))) поясните. "неудобно должны быть", "неудобно у белых людей" ??? разница в двух позициях Не, разница в одной позиции. Пробела. Есть разница между неудобно и не удобно. Перевожу проще - "не удобно" - это слабая форма, предпочитаю покрепче ))) Или: Это не удобно, а так и должно быть у белых людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:33:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcher Подумайте - если Вы, скажем, копируете или ещё как манипулируете одной очень большой строкой и/или делаете всё это в циклах, то накладные расходы на определение длины вашей строки по сравнению со временем окончания самой операции копирования просто мизерны и смешно говорить об этом как о недостатке по сравнению с тем же паскалем. Прошерстить строку в оперативке в поиске нуля - это в современной машине - тьфу и растереть. Ненамного дольше, чем считать первый байт паскальной строки, чтобы этим пренебречь Мне кажется что это как раз явный алгоритмический антипаттерн. Поиск нуля, действительно тривиален, но если эта операция будет в цикле то вы получите серъёзную просадку в производительности. А если строка при этом буде расти в размере, то можно получить и квадратичную и кубическую сложности алгоритмов. Хранить длину строки отдельно - тоже антипаттерн. Но уже не алгоритма а дизайна. Такой код трудно сопровождать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:34:40 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton Мне кажется что это как раз явный алгоритмический антипаттерн. Поиск нуля, действительно тривиален, но если эта операция будет в цикле то вы получите серъёзную просадку в производительности. ... В принципе согласен, каюсь, эт я не слишком удачный пример привел(. Для особо запущенных случаев скорее всего лучше отойти от использования стандартных функций и придумать какой-нить свой алгоритм, оптимальный в данной конкретной ситуации. Кстати, если мы обрабатываем одну и ту же строку, то простое и эффективное решение - "закэшировать" её длину при первой итерации и при дальнейших манипуляциях с этой строкой динамически менять. Я вот только затрудняюсь представить пример, где бы у сишников возникали бы подобные сложности)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:48:50 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinBagaBagaДа и на кой мне к счетчику цикла i присобачивать по сути "квалификатор пространства имен" MyBestCompanyForeverI? Буквоедство detected. Речь идет об именах классов а не о именах переменных. Вы для счетчика класс заводите? Тогда приаттачивайте имя, да. Так. У классов чегой-то дописывать нужно... А у структур??? Да, если не в курсе, то итератор (о С++ речь) - это таки да, класс. Ну и какая тут экономия??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 16:50:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
2 All По поводу ASCIIZ. Я немножко поковырял поисковики на предмет истории возникновения ASZII-нулевых строк. Первые сообщения об этом формате мелькают в статьях, посвящённых PDP (Programmed Data Processor). Это семейство довольно древних ЭВМ. Так вот. Из обрывков информации я узнал, что ASCIZ строка имела аппаратную реализацию на PDP. Впоследствии формат был перенесён на Intell архитектуры, у которых не было этой поддержки, из за чего, Pascal строки на Intell работают эффективнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 22:01:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton, серию PDP и конкретную команду - в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 22:37:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
ЗабаненныйСкачал CLARION7 - только установил. Так дай жеж ссылку, где нам взять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 22:52:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Изопропил... Что-то типа того. Две ассемблерные команды копируют строку из источника в получатель. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2009, 23:47:00 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gds ИМХО: Си очень мошьный и инструмент в хороших руках. Си мне не нравится именно из-за своей ненужной усложненности. Ассемблер еще мощнее в умелых руках, но ну его нафиг. Проблема в том, что нет ни одного нормального кроссплатформенного компилятора а-ля QT, только для языка Си++. Странно, подход с кроссплатформенным компилятором более выигрышный, чем кроссплатформенная виртуальная машина, как JAVA или NET, почему все силы разработчиков ушли на JRE и NET, непонятно. Будь у меня выбор (альтернатива QT) я бы поклал на СИ++ с большой крыши. Это язык не для человека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:13:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Hor_netСтанная беседа... Овладевайте слепым 10-и пальцевым методом набора текста и это решит проблему "избыточности" языков. Ну в самом деле, ну сколько вы тратите на набивку и сколько на обдумывание решения. Набивка это ничтожное время. Там нечего уже экономить. ну да, конечно, давайте на ассемблере набивать код... Обдумывать то больше будем. Если в языке есть мусорный код, от него надо избавляться. Зачем делать язык чрезмерно усложненным. Я лично не понимаю, зачем такая кривая схема включения H-файлов. Понимаю, так удобно компилятору, но человеку так не удобно. Человек знает, что у него есть классы, объявление интерфейса и реализации он может сделать в разных файлах, система их проиндексировать и не нужно никаких инклюдов. Инклюды - это пережитки прошлого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:16:27 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КHor_netНу в самом деле, ну сколько вы тратите на набивку и сколько на обдумывание решения. Набивка это ничтожное время. Там нечего уже экономить.Проекты бывают разные. Видимо Вам повезло с вашими проектами, при реализации которых приходится думать. А бывают проекты, где всё давным давно уже обдумано, и само по себе программирование давно превратилось в тупое набивание текста. Интересно, в QT Creator события привязываются к элементам управления в IDE или ручками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:17:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
egorychmayton, я вот уже 8 страниц прочитал, и так и не понял в чём начальный поинт топика чувствуется, что парни недовольны, но вот чем, сформулировать у них толком не получается до сих пор. к примеру, посмотрел свой самый толстый файл в проекте. общее число строк - 1629, строк кода - 1329, пустых строк - 187, комментариев - 113. "паразитных" строк, с точки зрения автора - 27! о чём речь? Еще раз объясняю главную тему - меня блевать тянет от оператора include. Нафига он компилятору, понятно, но нафига он человеку - не очень... Можно проиндексировать все файлы проекта и тягать нужные объявления без этого убогого оператора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:18:49 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Алексей КmaytonРебята. Набивка, вёрстка - это всё RAD-s, maker, builders. И это к сабжу не имеет отношения! Да как сказать... Язык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. п. Зачем это надо? Или программисты С++ пишут сразу правильные программы, и им не приходится заниматься рефакторингом? Например, в C# перенос группы полей и методов в другой класс - это тупо копипаст куска текста без изменений. А вот в С++, благодаря его синтаксису, эта операция несколько сложнее. ЗЫ: Пишу на C# и радуюсь, что больше не приходится сталкиваться с С++. Вот, автор уже правильно ощутил нюансы Си++. Действительно, приходится очень много писать "не забыть бы тут добавить"... Прямо я вас понимаю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:19:58 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КЯзык должен в первую очередь позволять концентрироваться на предметной области, а не заставлять постоянно думать о том, чтобы "не забыть там подправить", "не забыть тут добавить", и т. При таком раскладе, пусть топикстартер остаётся на 1С и концентрируется на предметной области. Топикстартер всего лишь выразил свое недовольство Си++ и посчитал, что оператор include морально устарел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:20:37 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo А вам пора бы перейти на 1С. Путешествие от Си++ в 1С и обратно в С#? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:21:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. >> Бред. Это одна из основных причин отвратительной читаемости кода в Java. В результате этого требуется просматривать тысячи строк кода только для того, чтобы "по-быстрому" увидеть, что и как умеет этот класс. В результате "сворачивание кода" становится необходимой фичой, поскольку чёрт возьми таки позволяет увидеть суть без шелухи, интерфейс без реализации. Проще настроить текстовый редактор для фильтрации заголовков, чтобы показывать только объявления, чем вколачивать одно и то же в два места - в объявление и реализацию. >> Ещё и неграмотен. На Паскале можно не делать - впрочем, это будет стилистической ошибкой. Мне это не столь важно >> В угоду хорошему стилю. Это несколько затрудняет написание больших подпрограмм - что минус - но стимулирует "сначала думать, потом делать", что плюс. Особенно для современных программистов, думать не привыкших, привыкших сразу делать. Чем в данном случае стиль хорош? Тем, что он для мазохистов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:26:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
MasterZiv Так ладно, что предлагаете-то ? Конкретно и по пунктам. Как заменять будем заголовочные файлы ? Решение просто - проиндексировать библиотеки и файлы проекта и искать объявление нужного класса в том файле, где он описывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:27:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc человек, ты не понимаешь сипп, а пытаешься спорить. никто не застявляет тебя отделять реализацию от описания. суть в том, чтобы отделить реализацию от интерфейса. понимаешь разницу? интерфейс - абстрактный класс, т.е. без реализации. он проще и УБОБНЕЙ ЧЕЛОВЕКУ для линковки. описания и реализация гораздо больше. тот же дотнет содержит множество интерфейсов и описаний и описания БОЛЬШЕ интерфейсов. Да на здоровье. А почему я должен повторять описание интерфейса в реализации. почему я просто не могу написать: реализация класса такого то метод1{} метод2{} //без параметров Пусть параметры подставляет из интерфейса! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:29:03 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pc нехер писать интерфейс не на дотнете.. То бишь ты считаешь, что на QT писать интерфейс - лажа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:30:01 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcв Visuaal Studio (vax) есть нормальные инструменты для, например, для изменения описания фунции. изменяешь в спп и она изменяется в h. куда уж проще ? То бишь язык без IDE мертв? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:30:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( QT - поделка по вашему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:32:10 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoАлексей КXDiaBLoА в чём тогда собственно претензии?Да ни в чём. :-) Просто согласился с Fixin в том, что ручное описание метаданных - это плохо. Из-за того, что в программу добавляется некоторая избыточность. Проблема высосана из пальца. Это просто мелкое неудобство для вас и Fixin, в принципе не составляющее проблемы. не фига себе. Да это капитальное неудобство, особенно если классов много. 1. почему я должен следить за именами h-файлов. 2. почему я должен включать IFDEF в начало, придумывать идентификаторы. 3. Почему включать нужные h-файлы не может компилятор. Все это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:35:02 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton Здесь нужен экскурс в историю. Дело в том, что самые первые версии компилляторов действительно были машинно- а не человеко- ориентироваными. Это проявлялось во всём. Экономия памяти в именах переменных (исходник не прогружался в ОЗУ). Оверлейные буферы. Различные расширители верхней (hi), расширенной (extended) и еще x$й знает какой памяти. Катастрофическая нехватка оперативки и чудовищно медленный дисковый интерфейс (как вариант 5.25 дюймовая дискета и никакого HDD). И сделать #include <*> было нельзя. И сегодня, ты избалованный и изнеженный 2-4 ГБ оперативки и бесконечной страничной памятью не понимаешь программистов-семидесятников. Их работа была адской. Ресурны машины надо было ЭКОНОМИТЬ. А человеко-ресурсы нет. Человеков ведь всегда много. Вот такие вот пирожки. Поэтому тяжёлое наследие первых компилляторов несут в себе очень многие языки. Нафига мне история сейчас? Включайте новые варианты, оставляя обратную совместимость. Так ты что же, батенька, согласен, что include - это устаревшая конструкция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:37:23 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Что вы предлагаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:41:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonFixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Что вы предлагаете? Писал уже выше - индексацию файлов используемых классов и подключение нужных для компиляции классов автоматом, без H-файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:45:04 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinПисал уже выше - индексацию файлов используемых классов и подключение нужных для компиляции классов автоматом, без H-файлов. Ну и что дальше? А КТО будет из списка поиндексированных выбирать нужную библиотеку (пространство имён (модуль)) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 00:51:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
И что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. И вообще, чтобы что-то свое предлагать в области ЯП надо понимать все статьи на LtU включая слова "катамормизм" и "зависимые типы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 06:39:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherXDiaBLo Когда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) нет, нет, они не ограничены конечно и насильно никто не заставляет, просто в Oracle очень хорошо отшлифован уже стык между ядром PL/SQL и ядром SQL (это ж всё таки родственнички!), вот там как раз выигрыш по сравнению с Java-машиной существенный Ну как не ограничены то, если люди на практике проверяли? Я вообще-то не спрашивал, а утверждал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 06:53:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. Да что вы к хидерам докопались? В С/С++ полно более важных проблем, на фоне которых, ваша проблема меркнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 07:09:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoeee-pc - каждый язык для своих задач. например, писать ГУЙ на сипп не есть гут, в то время как писать большие проги (логику особенно) на не сипп есть еще больший не гут. Тут основная проблема в том, что на С++ нету никакого ГУЯ :) А эти поделки, которые дают возможность таки делать ГУЙ на С++, они все не являются стандартом :( QT - поделка по вашему? Нестандарт. СЛово поделка было не в оскорбительном смысле сказано, а как-бы чтобы показать что это нестандарт, и несколько менее доверия к этому продукту, чем если бы он был стандартом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 07:12:17 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoАлексей КXDiaBLoА в чём тогда собственно претензии?Да ни в чём. :-) Просто согласился с Fixin в том, что ручное описание метаданных - это плохо. Из-за того, что в программу добавляется некоторая избыточность. Проблема высосана из пальца. Это просто мелкое неудобство для вас и Fixin, в принципе не составляющее проблемы. не фига себе. Да это капитальное неудобство, особенно если классов много. 1. почему я должен следить за именами h-файлов. 2. почему я должен включать IFDEF в начало, придумывать идентификаторы. 3. Почему включать нужные h-файлы не может компилятор. Все это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Это ваше ИМХО, а моё имхо, что это вполне нормально и удобно, ОК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 07:13:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
beluginИ что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. Он же уже намекнул, что все кто называют классы неуникально, не используя свой ник, ламерюги. А опытным гуру, пространства имён и .h файлы, не нужны вовсе. Название класса, типа XDiaBLo_Megalib_string, было бы вполне уместно в таких реалиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 07:22:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonFixinПисал уже выше - индексацию файлов используемых классов и подключение нужных для компиляции классов автоматом, без H-файлов. Ну и что дальше? А КТО будет из списка поиндексированных выбирать нужную библиотеку (пространство имён (модуль)) ? Ну Джава же выбирает. Т.е. когда я пишу MyClass *myclass; то компилятор начинает искать MyClass во всех либах. Если я пишу в начале: Uses MyLib, YourLib; MyClass *myclass; То компилятор начинает искать описание myclass сначала в MyLib, затем в YourLib, затем везде. Если найдено несколько MyClass, выдается ошибка - ambigous class names. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:11:53 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
beluginИ что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. И вообще, чтобы что-то свое предлагать в области ЯП надо понимать все статьи на LtU включая слова "катамормизм" и "зависимые типы" Вот только не надо демагогии. Чтобы вызвать газовщика, достаточно, чтобы работало обоняние... чуять запах газа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:12:39 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixin>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. Да что вы к хидерам докопались? В С/С++ полно более важных проблем, на фоне которых, ваша проблема меркнет. Я решаю проблемы в порядке очередности. Про другие проблемы не знаю, но хидеры меня бесят. Это отстой, для языка 21 века позор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:13:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Ща книгу по похапе читаю, дак в 6 версии ввели пространства имён наконец Но в С++ их надо убрать, всяко, он же не какой-то там пыхпых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:15:18 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLobeluginИ что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. Он же уже намекнул, что все кто называют классы неуникально, не используя свой ник, ламерюги. А опытным гуру, пространства имён и .h файлы, не нужны вовсе. Название класса, типа XDiaBLo_Megalib_string, было бы вполне уместно в таких реалиях. В этом случае произойдет ошибка компиляции "ambigous class names in different libs" и вам придется специфицировать нэйм спейс через USES или расширение имени класса ближайшей библиотекой. Не надо ерничать, дьябел... К тому же, если подумаете, то придумаете и другие способы, кроме namespace, идентификации класса. Подумайте для начала, почему заводятся классы с одинаковыми именами??? Мне тут приводили пример - одинаковые имена классов, но для разных платформ - 64 и 86. Так тут надо не нэймспейс указывать, а свойства библиотеки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:15:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin, GCC - имеет открытый исходный код. Почему бы тебе не скачать сырцы и не избавится от столь ненависных хидеров в C++ ? Врядли кто-то другой сделает это в ближайшее время кроме тебя. Так что у тебя всего два варианта дальнейших действий: 1) Не использовать C++ ( благо ЯП сейчас предостаточно. Ну неужели ты не можешь выбрать из всего этого то, что тебе подходит ). 2) Переделать компилятор C++ так, чтобы он тебе подходил ( ну тут правда не только компилятор прийдется переделывать, еще и библиотеки которые будешь использовать. Ну и совместимость конечно нулевая будет, но ты получишь идеально подходящий тебе язык) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:24:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoFixin>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. Да что вы к хидерам докопались? В С/С++ полно более важных проблем, на фоне которых, ваша проблема меркнет. Я решаю проблемы в порядке очередности. Про другие проблемы не знаю, но хидеры меня бесят. Это отстой, для языка 21 века позор. Они в том или ином виде присутствуют везде. Я считаю С++ удобнее для разработки без удобной IDE, чем те же Java и C#. Именно благодаря этой черте. Вы видимо считаете наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:28:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
clihltFixin, GCC - имеет открытый исходный код. Почему бы тебе не скачать сырцы и не избавится от столь ненависных хидеров в C++ ? Врядли кто-то другой сделает это в ближайшее время кроме тебя. Так что у тебя всего два варианта дальнейших действий: 1) Не использовать C++ ( благо ЯП сейчас предостаточно. Ну неужели ты не можешь выбрать из всего этого то, что тебе подходит ). 2) Переделать компилятор C++ так, чтобы он тебе подходил ( ну тут правда не только компилятор прийдется переделывать, еще и библиотеки которые будешь использовать. Ну и совместимость конечно нулевая будет, но ты получишь идеально подходящий тебе язык) Ну есть еще третий выход - мыши кололись, плакали, но жрали кактус.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:37:24 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoFixinXDiaBLoFixin>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. Да что вы к хидерам докопались? В С/С++ полно более важных проблем, на фоне которых, ваша проблема меркнет. Я решаю проблемы в порядке очередности. Про другие проблемы не знаю, но хидеры меня бесят. Это отстой, для языка 21 века позор. Они в том или ином виде присутствуют везде. Я считаю С++ удобнее для разработки без удобной IDE, чем те же Java и C#. Именно благодаря этой черте. Вы видимо считаете наоборот. Нравится или не нравится - это другой вопрос. Но использование имен файлов вместо имен классов (библиотек)в современном языке - это нонсенс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:38:14 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLoFixinXDiaBLoFixin>> H-файлы - действительно, тяжкое наследие семидесятых. Ну вот об этом я и хотел сказать... H-файлы морально устарели... А вы до сих пор жуете этот кактус и говорите - вкусно. Да что вы к хидерам докопались? В С/С++ полно более важных проблем, на фоне которых, ваша проблема меркнет. Я решаю проблемы в порядке очередности. Про другие проблемы не знаю, но хидеры меня бесят. Это отстой, для языка 21 века позор. Они в том или ином виде присутствуют везде. Я считаю С++ удобнее для разработки без удобной IDE, чем те же Java и C#. Именно благодаря этой черте. Вы видимо считаете наоборот. Нравится или не нравится - это другой вопрос. Но использование имен файлов вместо имен классов (библиотек)в современном языке - это нонсенс. А чем #include <string> хуже чем какой-нибудь import string? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:51:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLobeluginИ что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. Он же уже намекнул, что все кто называют классы неуникально, не используя свой ник, ламерюги. А опытным гуру, пространства имён и .h файлы, не нужны вовсе. Название класса, типа XDiaBLo_Megalib_string, было бы вполне уместно в таких реалиях. В этом случае произойдет ошибка компиляции "ambigous class names in different libs" и вам придется специфицировать нэйм спейс через USES или расширение имени класса ближайшей библиотекой. Не надо ерничать, дьябел... К тому же, если подумаете, то придумаете и другие способы, кроме namespace, идентификации класса. Подумайте для начала, почему заводятся классы с одинаковыми именами??? Мне тут приводили пример - одинаковые имена классов, но для разных платформ - 64 и 86. Так тут надо не нэймспейс указывать, а свойства библиотеки... Меня неймспейсы устраивают, и .h файлы тоже. Они ничем не хуже других способов. А полпроцента "лишнего текста", это ничего, на времени разработки не скажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 09:53:29 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLoА чем #include <string> хуже чем какой-нибудь import string? Тем, что #include - это инструкция препроцессора. Вместо замкнутого модуля - всего лишь употребимое сокращение для описания внешних функций. Ненужная низкоуровневость, порождающая дополнительные потребности. В частности, явно указывать namespace, в частности, явно указывать пути размещения бинарников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 10:15:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin Ну Джава же выбирает. Т.е. когда я пишу MyClass *myclass; то компилятор начинает искать MyClass во всех либах. Если я пишу в начале: Uses MyLib, YourLib; MyClass *myclass; То компилятор начинает искать описание myclass сначала в MyLib, затем в YourLib, затем везде. Если найдено несколько MyClass, выдается ошибка - ambigous class names. Как она выбирает? Как Java может знать какой Document я собирался использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 10:16:36 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixingds ИМХО: Си очень мошьный и инструмент в хороших руках. Си мне не нравится именно из-за своей ненужной усложненности. Ассемблер еще мощнее в умелых руках, но ну его нафиг. Проблема в том, что нет ни одного нормального кроссплатформенного компилятора а-ля QT, только для языка Си++. Странно, подход с кроссплатформенным компилятором более выигрышный, чем кроссплатформенная виртуальная машина, как JAVA или NET, почему все силы разработчиков ушли на JRE и NET, непонятно. Будь у меня выбор (альтернатива QT) я бы поклал на СИ++ с большой крыши. Это язык не для человека. :) Так в чем проблема? используйте asm. Там нет ни H-файлов, ни нинужных include. компилятор сам определит все. можно даже в один юнит писать. Нет никакой лишней инфы. А если по существу. Итак отбросим NET. Возьмите компилятор к примеру turbo Basic (или Visual), Borland Pascal, C/C++ (можно Turbo) и протестируйте производителдьность. Я давно не программировал на бейсике, со времен VB.5 - не NET, а обычный. Насколько я помню там ничего ненадо было Includ'ить. писался голый код. Теперь перепишите этоже приложение на Pascal и C/C++. И посмотрите производитьельность. Просто Си/СиПП - это скорее инструмент обработки информации, а не IDE для формачек. ИМХО. т.е. Если хотете писать на Си/СиПП, то я бы делал так. Матиматика и Логика на Си/СиПП морда Delphi, C#, VB, VBNET что хотите. Это тоже ИМХО. И Еще повторюсь. Если хотите получить от компилятора большего (производительность, мобильность, отказоустойчивоть и т.д.), то соответственно и дать ему надо больше инфы. причем не в одним "куском", а с некой реализацией. Например в некоторых случаях проше передать в IDE для мордочек один лишь интерфейс (сигнатуру) из модуля, чем всю его реализацию. Да и зачем передавать реализацию. На основе интерфейса надо строить пакет и пере6давать в модуль на обработку. т.е. 1. приложение создает пакет (структуру, класс) в памяти на основе интерфейса. 2. передает адрес этого пакета в модуль. 3. Модуль его колбасит и возвращает управление обратно приложению все довольны. p.s. Может он мне и нравиться, только потому, что я им очень редко пользуюсь, только в исключительных ситуациях, когда нужно повысить производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 11:15:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinА почему я должен повторять описание интерфейса в реализации. почему я просто не могу написать: реализация класса такого то метод1{} метод2{} //без параметров Пусть параметры подставляет из интерфейса! Да потому, что интерфейс это именованый набор сигнатур методов. И если вы наследуете интерфейс вы обязуетесь перед интерфейсом реализовать эти методы. Вас никто не заставляет писать интерфесы. Ради бога можете не писать их. Но если у все есть интерфейс IClone например. Содержащий метод Clone. и в n классов надо реализовать этот метод (n >> 10,20,50,100) (отрируя), то лучше наследовать интерфейс что бы не забыть. К тому же метод Clone (любого класса, который наследует этот интерфейс) можно вызвать через интерфейс. например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 11:37:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Перепишите в таком случает компилятор. А мы все будет пользоваться им. Если он будет предоставлять на те удобства о которых вы говорите. И тему можно будет закрыть. з.ы. Если не появятся другие косяки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 11:41:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLonicktcherXDiaBLo Когда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) нет, нет, они не ограничены конечно и насильно никто не заставляет, просто в Oracle очень хорошо отшлифован уже стык между ядром PL/SQL и ядром SQL (это ж всё таки родственнички!), вот там как раз выигрыш по сравнению с Java-машиной существенный Ну как не ограничены то, если люди на практике проверяли? Я вообще-то не спрашивал, а утверждал. В таком случае утверждение ваше неправильное. Я не знаю что за люди проверяли и как они делали это "на практике", но никаких ограничений на использование встроенных Java-процедур, связанных с производительностью, не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:01:55 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsFixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Перепишите в таком случает компилятор. А мы все будет пользоваться им. Если он будет предоставлять на те удобства о которых вы говорите. И тему можно будет закрыть. з.ы. Если не появятся другие косяки. Точно! Fixin, ну не нравятся вам заголовочные файлы - не юзайте, какие проблемы. И библиотеки не используйте. Пишите всё самостоятельно, валите всё в кучу в один исходник и наслаждайтесь жизнью. Можете его "проиндексировать" как-нибудь) Современные компиляторы в режиме оптимизации могут генерировать очень даже неплохой код, я не понимаю всё таки - что Вас в нём не устраивает. Какая вообще разница в каком веке был сделан компилятор, если он позволяет разрабатывать софт, удовлетворяющий потребностям пользователей. Если же Вы считаете, что есть некий пласт задач, который не в состоянии осилить современные компиляторы - тогда можно конечно жаловаться. Так расскажите нам об этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:12:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcher В таком случае утверждение ваше неправильное. Я не знаю что за люди проверяли и как они делали это "на практике", но никаких ограничений на использование встроенных Java-процедур, связанных с производительностью, не существует. Как делали, как делали, сделали встроенную процедуру на Жаве, и сделали внешнюю программу, которая то же самое делает, и увидели результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:18:12 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLonicktcher В таком случае утверждение ваше неправильное. Я не знаю что за люди проверяли и как они делали это "на практике", но никаких ограничений на использование встроенных Java-процедур, связанных с производительностью, не существует. Как делали, как делали, сделали встроенную процедуру на Жаве, и сделали внешнюю программу, которая то же самое делает, и увидели результат. Это другой вопрос, но это - НЕ ограничения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:20:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
тред из серии "ниасилил и учицо нихачу". от include нас тошнит, Qt - у нас, оказывается, компилятор, и на нём, оказывается, пишут ))) ну о чём тут говорить? - человек 21 века публично расписывается в своём непрофессионализме, так ещё этим и гордится. Ну и ещё, конечно, на халяву всё хочет, зато самому бабло рубить хочется побольше и поскорее. учитесь, юноша, это окупается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:26:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
egorychтред из серии "ниасилил и учицо нихачу". от include нас тошнит, Qt - у нас, оказывается, компилятор, и на нём, оказывается, пишут ))) ну о чём тут говорить? - человек 21 века публично расписывается в своём непрофессионализме, так ещё этим и гордится. Ну и ещё, конечно, на халяву всё хочет, зато самому бабло рубить хочется побольше и поскорее. учитесь, юноша, это окупается +1. Совершенно верно. Настоящий программист должен понимать суть программы и все вытикающие..., а через что (какие компиляторы) её реализовывать это другой вопрос. Не нравиться вам Си/СиПП непишите на нам. Fixin , Хватит его дискридитировать. Я вот например как сталкнулся с 1С в институте увидел этот руский извратный паскать. Дык теперь видет не могу. Хотя и отлично сдал его. И лучше напишу бухгалтерию на чем нить другом. Я же не создаю форумы типа "какое это г@вно ваш 1C но хочу перейти потому что вроде гдето слышал что за него бабло больше платят". И "давайте все дружно перепишем код 1C на java или c#". в наше время много языков, какой хотите такой и берите. А если решили перейти на Си/СиПП прошу его увавжать. Я тоже между процем не адский программер на Си, но приходиться к нему прибегать и он ни разу не разочаровывал меня. И от этого я его не обсираю. з.ы. Сори за офтоп(если таковой имеется) и грубые вырожения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:44:02 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherКогда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) C Ораклом знаком года четыре. Но о таких ограничениях не слыхал. Если есть соотв. нота на Metalink, то было-бы очень интересно почитать. Один из идеологов Oracle-обучения, известный писатель книжек и системный программист, рекомендует использовать в 100% случаем PL/SQL-машину, а если не хватает возможности то только в этом случае переходить на Java. Ну а если не хватит возможностей Java, то использовать external-процедуры на С/C++. Сама политика Oracle на мой взгляд обозначена довольно ясно. Java используется в системных пакетах Oracle для работы с опциями OLAP (онлайн аналитика), Spatial (география) и т.п. И не только используется но и потихоньку развивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:51:51 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton C Ораклом знаком года четыре. Но о таких ограничениях не слыхал. Если есть соотв. нота на Metalink, то было-бы очень интересно почитать. Один из идеологов Oracle-обучения, известный писатель книжек и системный программист, рекомендует использовать в 100% случаем PL/SQL-машину, а если не хватает возможности то только в этом случае переходить на Java. Ну а если не хватит возможностей Java, то использовать external-процедуры на С/C++. Сама политика Oracle на мой взгляд обозначена довольно ясно. Java используется в системных пакетах Oracle для работы с опциями OLAP (онлайн аналитика), Spatial (география) и т.п. И не только используется но и потихоньку развивается. Ща Sun купят, и вообще помчатся на вершину прогресса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 13:57:28 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
И давайте не будем забывать что на Си/СиПП написаны не только приложения для Винды, но и такие системы как FreeBSD,OpenBSD,*nix, Linux, MAC, да и все остальное все написано на Си. Он изначально Создавался как язык для компилятора. И если его переделать какие последствия обрушаться. На чем писать ядро системы? представляете себе послали на печать. Ядро написаное на новом Си пока найдет среди всех своих модулей то которое отвечает за печать пока найдет там клас. я думаю такой "быстрой" (в кавычках для тек кто в танке) работе вы не обрадуетесь. Там все основано на быстродействии. А как же загрузочная область для ядра Винды тоже переписывать? (хотя утверждать не берусь) По ядру больше знаю FreeBSD и Linux. Представьте линукс на delphi или на VB. NET хоть и написан в основном на С# но компиляторы и SDK на Си. К тому же Си может управлять железом, что и реализовано в FreeBSD лучше чем в остальном. Одна из основных проблем человека - проблема выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:03:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsНа чем писать ядро системы? представляете себе послали на печать. Ядро написаное на новом Си пока найдет среди всех своих модулей то которое отвечает за печать пока найдет там клас. я думаю такой "быстрой" (в кавычках для тек кто в танке) работе вы не обрадуетесь. Там все основано на быстродействии. Он про поиск во время компиляции, а не в рантайме ратует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:05:20 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsЯдро написаное на новом Си пока найдет среди всех своих модулей то которое отвечает за печать пока найдет там клас. я думаю такой "быстрой" (в кавычках для тек кто в танке) работе вы не обрадуетесь. Там все основано на быстродействии. Ерунда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:08:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLogdsНа чем писать ядро системы? представляете себе послали на печать. Ядро написаное на новом Си пока найдет среди всех своих модулей то которое отвечает за печать пока найдет там клас. я думаю такой "быстрой" (в кавычках для тек кто в танке) работе вы не обрадуетесь. Там все основано на быстродействии. Он про поиск во время компиляции, а не в рантайме ратует. Пардон. Тогда просто надо написать Компилятор для компилятора. И все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:09:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo А чем #include <string> хуже чем какой-нибудь import string? Потому что String - это имя файла а не класса, со всеми вытекающими - нужно заботиться о расположении файла, синхронизировать имя класса и файла и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:11:26 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Меня неймспейсы устраивают, и .h файлы тоже. Они ничем не хуже других способов. А полпроцента "лишнего текста", это ничего, на времени разработки не скажется. Вот таких ничего в Си++ достаточно много. Если колеса сделать не круглыми, а овальными, ездить можно, но напрягает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:12:08 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
softwarerXDiaBLoА чем #include <string> хуже чем какой-нибудь import string? Тем, что #include - это инструкция препроцессора. Вместо замкнутого модуля - всего лишь употребимое сокращение для описания внешних функций. Ненужная низкоуровневость, порождающая дополнительные потребности. В частности, явно указывать namespace, в частности, явно указывать пути размещения бинарников. Я уже ответил по поводу недостатков Include чуть выше. В нем указывается имя файла а не класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:12:56 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton[quot Fixin] Как она выбирает? Как Java может знать какой Document я собирался использовать? хахаха. а вот так не хотите: вместо gnu.kawa.xml.document - use kawa; document my; document xml.my; Зачем указывать полное имя класса и либы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:15:00 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gds А если по существу. Итак отбросим NET. Возьмите компилятор к примеру turbo Basic (или Visual), Borland Pascal, C/C++ (можно Turbo) и протестируйте производителдьность. Я давно не программировал на бейсике, со времен VB.5 - не NET, а обычный. Насколько я помню там ничего ненадо было Includ'ить. писался голый код. Теперь перепишите этоже приложение на Pascal и C/C++. И посмотрите производитьельность. Я так понимаю, производительность выполнения кода, а не производительность написания или разработки или даже компиляции кода ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:16:24 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsДа потому, что интерфейс это именованый набор сигнатур методов. И если вы наследуете интерфейс вы обязуетесь перед интерфейсом реализовать эти методы. Батенька, в данном случае под интерфейсом подразумевалось объявление класса, читайте внимательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:17:24 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsFixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Перепишите в таком случает компилятор. А мы все будет пользоваться им. Если он будет предоставлять на те удобства о которых вы говорите. И тему можно будет закрыть. з.ы. Если не появятся другие косяки. А почему не сразу выпить йяда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:17:44 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcher Современные компиляторы в режиме оптимизации могут генерировать очень даже неплохой код, я не понимаю всё таки - что Вас в нём не устраивает. Какая вообще разница в каком веке был сделан компилятор, если он позволяет разрабатывать софт, удовлетворяющий потребностям пользователей. Если же Вы считаете, что есть некий пласт задач, который не в состоянии осилить современные компиляторы - тогда можно конечно жаловаться. Так расскажите нам об этом Ассемблер тоже может генерить очень неплохой код. Я всего лишь хотел сделать замечание, что некоторые элементы С++ уже морально устарели. Я не собираюсь их устранять, просто хочу обсудить эту тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:18:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixingds А если по существу. Итак отбросим NET. Возьмите компилятор к примеру turbo Basic (или Visual), Borland Pascal, C/C++ (можно Turbo) и протестируйте производителдьность. Я давно не программировал на бейсике, со времен VB.5 - не NET, а обычный. Насколько я помню там ничего ненадо было Includ'ить. писался голый код. Теперь перепишите этоже приложение на Pascal и C/C++. И посмотрите производитьельность. Я так понимаю, производительность выполнения кода, а не производительность написания или разработки или даже компиляции кода ? Совершенно верно. На это и заточнен Си и ему подобные. что бы он выполнялся качественно и быстро. Правда качество зависит от профисионализма того кто пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:24:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin Ты неисправимый балбес (прости модератор). Вот твои слова. FixinЕще раз объясняю главную тему - меня блевать тянет от оператора include. Нафига он компилятору, понятно, но нафига он человеку - не очень... Можно проиндексировать все файлы проекта и тягать нужные объявления без этого убогого оператора. Я тебе пытаюсь объяснить что индексирование всех файлов не решает никакой проблемы, т.к. по прежнему неизвестно, как компиллер будет разруливать конфликты имён в старых исходниках, где namespaces еще не применялись. Ты бросаешся из крайности в крайность и вместо отсутствия нужной декларации функции, ты получишь задвоение кода (или вызов посторонней функции), что на самом деле - вещь еще более опасная т.к. отслеживать такие ошибки (это уже runtime) еще труднее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:25:32 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixingdsFixinВсе это бред! Компилятор уже может быть умнее. На дворе прошел 20 век, а С++ топчется уж не знаю в каких? 80-е? 90-е? Перепишите в таком случает компилятор. А мы все будет пользоваться им. Если он будет предоставлять на те удобства о которых вы говорите. И тему можно будет закрыть. з.ы. Если не появятся другие косяки. А почему не сразу выпить йяда? Ну я думаю этот вопрос надо одресовать не мне а топикастеру, это же ему так не нравиться компилятор Си. Я в полне доволен им, меня он устраивает на все 120%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:26:59 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gdsFixin А почему не сразу выпить йяда? Ну я думаю этот вопрос надо одресовать не мне а топикастеру, это же ему так не нравиться компилятор Си. Я в полне доволен им, меня он устраивает на все 120%. Дак это ведь топикстартер и спросил, не выпить ли ему яду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:33:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin Ассемблер тоже может генерить очень неплохой код. ... Ассемблер ничего не может генерить))), это транслятор , а не компилятор. Код генерит программист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:57:44 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
mayton C Ораклом знаком года четыре. Но о таких ограничениях не слыхал. Если есть соотв. нота на Metalink, то было-бы очень интересно почитать. Один из идеологов Oracle-обучения, известный писатель книжек и системный программист, рекомендует использовать в 100% случаем PL/SQL-машину, а если не хватает возможности то только в этом случае переходить на Java. Ну а если не хватит возможностей Java, то использовать external-процедуры на С/C++. Сама политика Oracle на мой взгляд обозначена довольно ясно. Java используется в системных пакетах Oracle для работы с опциями OLAP (онлайн аналитика), Spatial (география) и т.п. И не только используется но и потихоньку развивается. Абсолютно верно. Кто не верит - читайте Кайта и учите Oracle. Отличная система, кстати! Я сам 5 год ей занимаюсь и не жалею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:07:07 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
nicktcherFixin Ассемблер тоже может генерить очень неплохой код. ... Ассемблер ничего не может генерить))), это транслятор , а не компилятор. Код генерит программист Помню пока под ДОС на ассемблере писал, даже многие 16-ричные коды команд запомнил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:10:43 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo ... Помню пока под ДОС на ассемблере писал, даже многие 16-ричные коды команд запомнил Дык конечно запомнишь). Я на ассемблере на дипломе писал расчетные модули для САПР - во были времена...А нынешним "умельцам" хидерфайлы видите ли не угодили))) ЗЫ сорри за оффтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:20:16 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonXDiaBLoКогда я работал в НИИ, один коллега мне упоминал, что в Оракле жавные процедуры сильно ограничены по вычислительным ресурсам, видимо чтобы Ораклу не мешать... Так что думаю да, они даже насильно заставляют поменьше пользоваться жавой :) C Ораклом знаком года четыре. Но о таких ограничениях не слыхал. Если есть соотв. нота на Metalink, то было-бы очень интересно почитать. Один из идеологов Oracle-обучения, известный писатель книжек и системный программист, рекомендует использовать в 100% случаем PL/SQL-машину, а если не хватает возможности то только в этом случае переходить на Java. Ну а если не хватит возможностей Java, то использовать external-процедуры на С/C++. Сама политика Oracle на мой взгляд обозначена довольно ясно. Java используется в системных пакетах Oracle для работы с опциями OLAP (онлайн аналитика), Spatial (география) и т.п. И не только используется но и потихоньку развивается. Связался с человеком, от которого слышал про такое, говорит там ограничения, Яве всего 5% по времени вычислений отдано по его словам. В документации рыться не желает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:27:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Модератор, сори за офтоп но тема себя из жила. з.ы. все сюда продолжаем дискуссию на другую тему. Одна из основных проблем человека - проблема выбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:43:46 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
eee-pcXDiaBLoЕсли не объявлять интерфейс отдельно в С++ например, то методы будут inline, насколько мне известно, а это не всегда то что нужно. а в сидиез вроде бы все функции вируальные. inline - как помпилятор настроиш. В C# по умолчанию методы не являются виртуальными. Вот в Java - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 19:59:10 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
FixinXDiaBLobeluginИ что будет происзходить, если в новой версии библиотеки добавился класс, который совпадает с названием использованного. Он же уже намекнул, что все кто называют классы неуникально, не используя свой ник, ламерюги. А опытным гуру, пространства имён и .h файлы, не нужны вовсе. Название класса, типа XDiaBLo_Megalib_string, было бы вполне уместно в таких реалиях. В этом случае произойдет ошибка компиляции "ambigous class names in different libs" и вам придется специфицировать нэйм спейс через USES или расширение имени класса ближайшей библиотекой. Не надо ерничать, дьябел... .. Модератор: 1 я не знаю, что такое дьябел, но это обращение мне не нравится. 2 настойчиво рекомендую, Fixin, более не вспоминать про трудности и особенности Вашего пищеварения. Несмотря на вроде бы существующую связь оного с программированием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 05:20:25 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin, в языках без неймспейсов люди мучаются и просят их ввести. Говорю вам как разработчик но одном из таких языков. Вы бы сначала поизучали чужой опыт, что ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 13:00:22 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
XDiaBLo wrote: > Это ваше ИМХО, а моё имхо, что это вполне нормально и удобно, ОК? IMHO -- оно "вашим" быть не может. Оно всегда "моё". Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 19:46:30 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Вот только не надо демагогии. Чтобы вызвать газовщика, достаточно, чтобы > работало обоняние... чуять запах газа. Ты кстати не в курсе, что природный газ НЕ ИМЕЕТ запаха ? А то, что обычно имеют в виду под "запахом газа" -- запах искусственно добавляемой примеси, который и должен служить признаком утечки ? Вот так и все твои суждения ... на поверхностном уровне. Ладно, меняет это мало чего. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 19:53:40 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
gds wrote: > :) Так в чем проблема? используйте asm. Там нет ни H-файлов, ни нинужных > include. компилятор сам определит все. можно даже в один юнит писать. Есть там инклуды, практически одно из первых средств, появившихся в ассемблерах, были макросы и инклюды. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 19:59:41 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin wrote: > Ассемблер тоже может генерить очень неплохой код. > Я всего лишь хотел сделать замечание, что некоторые элементы С++ уже > морально устарели. > Я не собираюсь их устранять, просто хочу обсудить эту тему. Ну, обсудил ? Стало легче ? Даваай я тоже напишу: в языке С++ есть некоторые элементы, которые уже морально устарели. Ещё легче стало ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2009, 20:06:19 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
автор assembler в зубы и пишите свой язык чтоб библиотеки подключались сами и чтоб мусора небыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 04:09:21 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
maytonЯ тебе пытаюсь объяснить что индексирование всех файлов не решает никакой проблемы, т.к. по прежнему неизвестно, как компиллер будет разруливать конфликты имён в старых исходниках, где namespaces еще не применялись. Ты бросаешся из крайности в крайность и вместо отсутствия нужной декларации функции, ты получишь задвоение кода (или вызов посторонней функции), что на самом деле - вещь еще более опасная т.к. отслеживать такие ошибки (это уже runtime) еще труднее! Да вы чьто? В джава вот include не используется. Просто указывается необходимое имя класса и имя пакета (а не имя файла пакета) ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2009, 23:05:21 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin, :) - имя пакета - директория. имя класса - файл дак что не указываеться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 02:21:05 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNFixin, :) - имя пакета - директория. имя класса - файл дак что не указываеться? Вот и я говорю, какая в конце концов разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 07:26:11 |
|
||
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#18+
Fixin В джава вот include не используется. Просто указывается необходимое имя класса и имя пакета (а не имя файла пакета) ! Не помню прлетало ли здесь, но продублирую: вот это и это читать вдумчиво и с выражением. Автор безусловно предвзят и одиозен, но лично я с ним солидарен на 99.9% Java не совершенна не в меньшей степени чем C++, но споры об этом абсолютно бесперспективны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 08:10:36 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1344474]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
181ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
265ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 719ms |

| 0 / 0 |
