|
|
|
Морально устаревшие элементы языков высокого уровня
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35984668&tid=1344474]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
205ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
91ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 575ms |

| 0 / 0 |
