powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Морально устаревшие элементы языков высокого уровня
25 сообщений из 355, страница 10 из 15
Морально устаревшие элементы языков высокого уровня
    #35983013
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin J
а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет.
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983018
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoFixinслучайныйнаборсимволовтутТоварищ просто никогда в жизни не писал серьезных программ, не работал в команде...
Зачем ему отделение реализации от интерфейса, если у него все реализации в OnButtonClick (Кнопка1Нажатие раз он одинэсник) живут?
Для таких как он современные IDE естественно неудобны - у них другая целевая аудитория. Подстраивать же средства разработку под ламеров... ну странный подход. Казалось бы, от того что каждый инженер должен уметь писать программы общество со времен Фортрана ушло...

Да вы што. H-файлы тоже нужны для командной разработки? Без них ну никак в командной разработке, да? Давайте поговорим про H-файлы.
О, вы прозрели! Я же тут про это уже упоминал, и не только я. Именно так, вы пишете реализацию и интерфейс, а остальные в команде, используя ваши классы, видят только интерфейс. Это как чёрный ящик. Удобно.
Это не удобно ))) Это так и должно быть у белых людей )))
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983020
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoAklin J
а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет.
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.


Код: plaintext
1.
2.
3.
4.
5.
char buf[ 10000 ], *c = buf;
*c =  0 ;
c += sprintf (lalalala);
c += sprintf (lalalala);


причем всегда *c == 0, ну а быстрее вы не найдете. то же с парсингом.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983031
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яЭто не удобно ))) Это так и должно быть у белых людей )))

поясните. "неудобно должны быть", "неудобно у белых людей" ???

разница в двух позициях
1) скорость набора текста (признайне, что набор занимает времени меньше, чем анализ и проектирование)
2) дотнет неявно (я явно криво с точки зрения динковки) генерит нечто, похожее на headers
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983090
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin JXDiaBLoAklin J
а вы думаете, что конкатенция в других языках быстрее только от того, что они хранят длину строки? я думаю нет.
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.


Код: plaintext
1.
2.
3.
4.
5.
char buf[ 10000 ], *c = buf;
*c =  0 ;
c += sprintf (lalalala);
c += sprintf (lalalala);


причем всегда *c == 0, ну а быстрее вы не найдете. то же с парсингом.
Я знаю что всегда можно найти обходные пути, но стандартные функции неэффективны. Джоэл приводит функцию
Код: plaintext
1.
2.
3.
4.
5.
char* mystrcat(char* dest, char* src)
{
    while(*dest)dest++;
    while(*dest++= *src++);
    return --dest;
}
Но что происходит внутри спринтф? Я уверен что там тоже происходит поиск конца строки, и копирование побайтовое. Возможно после каждого байта проверка, не конец ли. Без указанного размера, иначе никак. Да и тот алгоритм что я указал, он ведь тоже не идеален, там тоже сначала ищется конец первой строки, а потом копирование второй, пока не ноль. Плохо, лишние проверки.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983095
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя при копировании проверки по любому будут, просто тут ещё и поиск конца первой строки о_О А если она большая???
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983101
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin Jну яЭто не удобно ))) Это так и должно быть у белых людей )))

поясните. "неудобно должны быть", "неудобно у белых людей" ???

разница в двух позициях
1) скорость набора текста (признайне, что набор занимает времени меньше, чем анализ и проектирование)
2) дотнет неявно (я явно криво с точки зрения динковки) генерит нечто, похожее на headers
Явно криво, если руки кривые. Компилятор ошибку выдаст.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983183
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, как будет происходить работа с многобайтовыми кодировками(utf8/16 и т.п.)?
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983198
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу: автор поста, не в обиду будь сказано, весьма смутно представляет себе тему, которую он взялся обсуждать. Так что за смелость - 5, за "реализацию" - 2.
Можно оспорить практически любое высказывание автора, возьмем хотя бы первое:

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

А кто Вам сказал, уважаемый Fixin, что на асме программировать сложнее, чем на языке высокого уровня? Я считаю, что наоборот, освоить ассемблер легче и ассемблерный код(написанный человеком, а не сгенерированный компилятором) гораздо проще для понимания, чем некоторые концепции ООП. Можно говорить о том, что для определенных классов задач язык высокого уровня подходит несравненно лучше, а где-то ассемблер просто незаменим.
И задумывались языки высокого уровня всё же не для того, чтобы чего-то там облегчить, просто когда программисты осознали, что им предстоит решать целый пласт новых задач, стало понятно, что сделать это можно только тогда, когда есть некая компьютерная модель, позволяющая добиться определенного уровня абстракции при проектировании для успешной реализации новых усложнившихся задач из реальной жизни. Так и стали развиваться высокоуровневые языки.

Что касается конкретных ваших "претензий" к языкам, то здесь тоже, мягко говоря, почти всё притянуто за уши. Меня "порадовала" ваша страшилка "Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы ...следить, чтобы заголовочные файлы не включались дважды. Одно это отталкивает от Си++, несмотря на все преимущества ООП"
Друг мой, Вы просто не умеете их готовить) Почитайте Страуструпа, он про компоновку исходного кода достаточно подробно расписывает. Насчет интерфейса класа и его реализации...ммм, ну Вам уже про это тоже написали). Учите мат.часть
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983227
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eee-pc
...
современные компиляторы (кстати, ВСЕ современные компиляторы написаны на си или сипп) умеют делать как favor speed (fast code) так и favor size (small size)

Мы о разных вещах говорим - я имею в виду принципиальную разницу между низкоуровневыми и высокоуровневыми языками, я не говорю про настройки оптимизатора кода конкретных современных реализаций языков
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983263
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eee-pcgdseee-pc
ну и зацени это. если у тебя два класса имеют одно и то же имя. как IDE должна их парсить ? а вместо этого ты вынужден использовать ДЛИННЫЕ ИМЕНА КЛАССОВ, что очевидно замедляет процесс набора текста.
нивсегда. Можно сначала объявить
Код: plaintext
1.
using Class1 = ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс.
using Class2 = ДлинныйСпайсНаймКомпании2.ДлинныйИлиНеОченьДлинныйКласс.
и потом использовать только Class1 и Class2

а потом придет дядя петя, и скачает либу с class1, какой будет результат ?
Если у него есть либы этих двух компаний. то по сути никакого т.к. Class1 и Class2 это всего лишь объявленные ссылки. Если у него нет этих либ, то и длинные имена тоже не помогут. Тут я просто хотел показать как можно сократить длинные имена в кородкие что бы не пришлось
автор
использовать ДЛИННЫЕ ИМЕНА КЛАССОВ , что очевидно замедляет процесс набора текста.

По сути дядя Петя если хочет может использовать длинные имена. Ведь сигратура и эквивалентность типов/классов останится.
т.е. если используешь
автор
два класса имеют одно и то же имя

Код: plaintext
1.
2.
using ДлинныйСпайсНаймКомпании1;
using ДлинныйСпайсНаймКомпании2;
то в IDE надо либо указывать класс ДлинныйИлиНеОченьДлинныйКласс с таблспейсом либо объявить на него ссылку. по поторой можно отличить один от другого. что и сделано в этом примере.
Код: plaintext
1.
2.
3.
4.
using ДлинныйСпайсНаймКомпании1;
using ДлинныйСпайсНаймКомпании2;
using Class1 = ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс.
using Class2 = ДлинныйСпайсНаймКомпании2.ДлинныйИлиНеОченьДлинныйКласс.
Ну ведь согласитесь если используете ДлинныйИлиНеОченьДлинныйКласс при условии что такой же есть в другой сборке. то уж лучше дать ему Имя по короче. к томуже в прототип метода вы всегда можете передать и полное имя.
Код: plaintext
1.
2.
3.
4.
private void M(Class1 C1)
{
...
}
ему можно передать
Код: plaintext
1.
2.
3.
4.
Class1 c1 = New Class1();
ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс c2 = new ДлинныйСпайсНаймКомпании1.ДлинныйИлиНеОченьДлинныйКласс;
M(c1);
M(c2);
Это по сути одно и тоже.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983275
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gds
...
ИМХО: Си очень мощный инструмент в хороших руках.

Золотые слова ваши. Присоединяюсь.
Можно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки.
Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983276
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcher,
Насчёт ассемблера, достаточно крупные куски кода, непонятны даже автору, если не стоят комментарии на каждую строчку. Я смотрел свой код, через полгода после написания, еле разобрался.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983279
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo
...
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.

Не быстрые по сравнению с чем?
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983289
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherМожно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки.
Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично Позвольте с Вами не согласиться.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983291
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktchergds
...
ИМХО: Си очень мощный инструмент в хороших руках.

Золотые слова ваши. Присоединяюсь.
Можно до скончания веков обсуждать нюансы того или иного языка, достоинства и недостатки.
Одно несомненно. Настоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично
А если сроки не заданы, то он ещё и своих инструментов понаделает, чисто ради развлечения :) Никтож не спорит, что выбор инструментов есть, и все имеют плюсы и минусы, но вот как раз минусы тут и обсуждаются :)
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983299
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherXDiaBLo
...
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.

Не быстрые по сравнению с чем?
Да по сравнению с типами строк, где не нужно вычислять длину этих самых строк.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983309
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo,
согласен, комментить надо). И высокоуровневые сорцы - в т.ч. Без коментов Вы и в С++ проекте через полгода тоже будете репу чесать.
Но только асм с умом надо использовать - не надо больших кусков кода на асме писать. Если у Вас проект высокоуровневый, можно использовать отдельные небольшие вставки на асме в местах, критичных к быстродействию. Тогда всё будет гут.
Если же Вы чего-то на асме отдельное лабаете - структурируйте лучше исходники, конечно, комментьте
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983311
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherНастоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично
+1.
Я тоже так считаю. Заказчику важно что твоя прога работает, а не сколько там строк и на чем она написана.
Конечно сейчас могут пойти возражения, типа мне платят за количество строк и т.п. Уверяю вас грамотро отлаженный код в 100 строк будет куда дороже стоить его аналогу написанный любителем или делетинтом в 200 или 300. Не в количестве дело, а в качестве.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983314
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLonicktcherXDiaBLo
...
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.

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

Чисто теоретически - да. А что с чем Вы конкретно сравнивали? И какие операции со строками имеете в виду?
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983329
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gdsnicktcherНастоящий профессионал выполнит поставленную задачу качественно, уложившись в заданный срок. Что он при этом будет использовать - Дельфи, С++, а может Lisp- это уже вторично
+1.
Я тоже так считаю. Заказчику важно что твоя прога работает, а не сколько там строк и на чем она написана.Неверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983339
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherXDiaBLonicktcherXDiaBLo
...
Я ничего не думаю, я просто говорю факт, что сишные строки нифига не быстрые в обработке.

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

Чисто теоретически - да. А что с чем Вы конкретно сравнивали? И какие операции со строками имеете в виду?
Зачем мне это делать? Джоэл уже про это давно написал
http://russian.joelonsoftware.com/Articles/BacktoBasics.html
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983361
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
...
Неверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект.

Неверная архитектура - безусловно крах проекта. Насчет средств разработки - совершенно не согласен. Кривые руки и недостаток опыта разработчика - могут, а средства разработки здесь при чем?)).
Любую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на
C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983376
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherЛюбую современную прикладную задачу можно реализовать как, допустим, на Дельфях, так и на
C++ за сопоставимое время. Если Вы знаете какую-либо задачу, с которой справится только какая-то одна система - назовите, поспорим.Традиционно, есть БД, нужно к ней прикрутить серверную логику. Варианты:
1. На хранимых процедурах в SQL.
2. .Net или Java
3. C++ или Delphi

ИМХО: Последние два ну никак не подходят для этой задачи. Их выбор для этой задачи может обернуться крахом.
...
Рейтинг: 0 / 0
Морально устаревшие элементы языков высокого уровня
    #35983413
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНеверно выбранные средства разработки / архитектура системы могут вообще не позволить завершить проект.
Дык никто и не спорит. Просто если я считаю, что при выполении поставенной задачи сперва надо определить цели и ньюансы, а затем выбирать язык.
Ну к примеру, что бы не быть голословным.

Исходные данные:
Кол-во пользователей: 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#. к тому же много разных флагов позволяют управлять памятью и процессорами, потоками и т.п.
На реализацию у меня может уйти чуть больше времени чем я разланирую. т.к. надо сперва разработать Т.З. и учесть все ньюансы.
...
Рейтинг: 0 / 0
25 сообщений из 355, страница 10 из 15
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Морально устаревшие элементы языков высокого уровня
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]