powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
25 сообщений из 168, страница 6 из 7
Удобство и скорость разработки в C++
    #39276647
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaну... тоже они имели на то свои причины, вполне им актуальные и очевидные, бесспорно. но кто сейчас на телегах то ездит?Привычка-с!
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276651
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tnojavaкак и вся венгерская нотация. как и все эти перловые, PHP-ные и бейсиковские префиксы типа.
...
пока это лечится только статическими анализаторами, но...
В PHP нет жестко заданных типов. Поэтому обобщать не надо. Не нужна она сегодня в С/С++, но это не означает что вообще нигде не нужна.

Как ни странно ее придумали для С, лично я узнал о ней из книги про С, в те времена когда не было статических анализаторов, не было студий с подсказками, код тогда писали в примитивных текстовых редакторах.

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

вполне себе в духе вон русскоязычной версии статьи о венгерских нотациях.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276653
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaа вот что стоило бы сделать - так это убрать слабую типизацию - и запретить присваивать int в size_t, без явного приведения.
вот это было бы весьма полезно.
так венгерская нотация как-раз помогает порешать проблемы типов, недорешанные разработчиками ЯП.
Одно дело написать
Код: plaintext
1.
2.
3.
4.
int x;
unsigned int y;
... 100500 строк кода
if(x > y)


и
Код: plaintext
1.
2.
3.
4.
int ix;
unsigned int uy;
... 100500 строк кода
if(ix > uy) // написав это невольно задумаешься
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276656
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tif(ix > uy) // написав это невольно задумаешьсяТы что?! Задумываться это не путь людей точно знающих что венгерская нотация это зло во плоти. Они лучше мышкой над переменной помашут в MSVS и узнают тип переменной.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276657
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaвполне себе в духе вон русскоязычной версии статьи о венгерских нотациях.
Если ты всегда писал на ЯП с достаточно жесткой типизацией (С/С++ и т.п.), то тебе не понять проблем тех у кого не было вообще типов переменных, нотация это просто удобный костыль, который позволяет порешать проблему незамеченную разработчика ЯП. Почитай что я писал тут 19428484 .
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276659
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огни "больших" мыслей

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276702
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Код: plaintext
1.
2.
3.
4.
int ix;
unsigned int uy;
... 100500 строк кода
if(ix > uy) // написав это невольно задумаешься


Мне вот не даёт покоя Delphi/Pascal-евский with. Придумал гипотетическое расширение к language.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int ix;
int iy;
with _ {
   // здесь отключили нотацию.
   ... 100500 строк кода
   if (x>y) // пишем не думая
}
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276706
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaПотому что оба случая ее применения говорят о кодировании типов.
https://ru.wikipedia.org/wiki/Венгерская_нотация это потому, что вот
P.S. хотя, конечно, википедия - это источник знаний для настоящих профессионалов, чё уж ))
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276707
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МодераторКак-то постишь неаккуратно. Ссылка битая все время. ПоправилПервый символ порчу умышленно - для того, чтобы не засорять страницы всякими jpg, ...
Модератор: Клади под спойлер
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276720
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я для своего дипломного проекта создавал API который плотно работал с инженерной графикой.
И мне нужны были префиксы обозначающие точку на плоскости (v2), точку в пространстве (v3),
и нормированную точку (кватернион) (v4). Здесь цифра обозначала размерность. Или количество
double-величин в структуре. Эти-же точки обозначали и вектора. С ними надо было работать много
и плотно и не ошибаться. До тех пор пока я эти префиксы не ввел - не мог побороть кучу багов.

Впрочем это эпизод. Я-бы не стал распространять префиксные нотации везде где ни попадя. Но
для некоторых предметных областей когда есть узкий набор API - вполне себе разумно создавать
домен префиксов. И критиковать за эту активность программиста - никто не имеет права.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276723
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ критиковать за эту активность программиста - никто не имеет права.кроме прославленных троллей sql.ru
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276725
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я здесь говорю скорее о моральном праве. Создатель алгоритма или API
помогал себе. Делал маленькие закладочки. Или узелки на память. И никаких
задач глобализации за этим не стояло. Это просто технический приём и не более.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276726
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

И как OpenGL справляется..
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276769
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaSashaMercurynojava, да ладно бы радикальные. Они неверные.

что именно неверное я говорил? даже интересно стало. конкретно?

Далее я пояснил.

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

Действительно, некоторая часть того, что вы говорите соответствует действительности. Пусть какие-то вещи очевидны, в любом случае, их порой нужно произносить и с ними можно согласиться. Таким образом, я не утверждаю, что всё что вы говорите, неправильно, и я не говорю, что все те очевидные вещи что вы говорите слишком очевидны, чтобы об этом молчать. Тем не менее, за счет того, что с некоторыми вашими утверждениями сложно не согласиться, и их бесспорно можно принять за истину, вы в общем потоке своего сознания добавляете некоторые суждения, которые являются только вашим личным мнением, и никак не общепринятым, и пытаетесь их выдать как неприкасаемые суждения. И за счет этого, складывается двоякое мнение - слушать ли то, что вы говорите?(пусть даже вам безразлично, слушают вас или нет) С одной стороны, возможно это интересно, с другой, если начинаешь читать внимательно, то сложно согласиться со всем. Если бы вы выражали свои взгляды менее радикально, то вероятно не было бы такого эффекта.

Что касается венгерской нотации. Ниже вы привели цитату
авторEncoding the type of a function into the name (so-called Hungarian
notation) is brain damaged - the compiler knows the types anyway and can
check those, and it only confuses the programmer.

Поясню вам. Венгерская нотация создавалась не для программы осуществляющей компиляцию. Она создавалась для программиста. Ее основным назначением является удобство при чтении и анализе кода. Не всегда, когда вы читаете код, вы используете IDE. Кроме того, под венгерской нотацией в настоящее время следует скорее понимать не систему префиксов-типов, а систему префиксов. Где-то данная нотация будет избыточной, где-то она используется неправильно. В каких-то проектах она используется в качестве основной системы нотаций(пусть даже таких проектов мало, мне это не известно), в каких она применяется только локально. Потому неправильно делать столь категоричные выводы
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276775
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaтопик вообще-то не про то, как "помогите подключить библиотеку", а про критику принятых подходов.не, топик не про критику подходов, топик про отсутствие(незнание мной) подходов для быстрой и удобной разработки на сяхх.
nojavaА название проекта можно?можно, но это закрытый проект, код посмотреть нельзя, его нет во внешних cvs.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276878
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaНу... ок, монохромные мониторы окончательно исчезли в 90-хДа и ныне можно установить в Windows режим при котором все страницы будут в монохроме.
Незабываемое зрелище!
Все сайты при этом бывают похожи как близнецы-братья /так как все страусинные перья стали одного цвета/.
Одно время даже использовал эту возможность /хотя монитор позволял отображать цвета/.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276885
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Монохромные TFT LCD матрицы все же существуют.

http://www.winstar.com.tw/products/tft-lcd/monochrome-tft-lcd.html
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276894
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМонохромные TFT LCD матрицы все же существуют.

http://www.winstar.com.tw/products/tft-lcd/monochrome-tft-lcd.html
если серьёзно - в медицинских мониторах монохромные матрицы применяются
https://www.nec-display-solutions.com/p/me/en/products.xhtml
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276911
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часто при обсуждении "удобств" и "не удобств" в языках программирования высказываются только крайние точки зрения - мол это плохо и наоборот.
При этом забывают, что у всех людей имеются некие свои стили /и в жизни и в программировании/.
И скорее всего нужно быть терпимыми к этому ... /если они не в антогонизме с совестью/.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276920
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012, там пишут:

Backed by years of experience in the research and development of medical LCD displays, NEC
offers a high quality range of true 10-bit grayscale diagnostic monitors featuring an optimal
image quality and performance for digital mammography.


Насколько я разбираюсь, 10-bit уровень серого нельзя получить обычными файловыми форматами
графики. Jpeg - уже не вариант. Он загрубляет до 256 уровней после восстановления из DCT.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276933
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилесли серьёзно - в медицинских мониторах монохромные матрицы применяются
https://www.nec-display-solutions.com/p/me/en/products.xhtml
Они не монохромные, а черно-белые, т.е. в оттенках серого. По этой ссылке написано "10-bit grayscale"
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39277043
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton10-bit уровень серого нельзя получить обычными файловыми форматами
самый обычный tiff , dng
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39277049
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TОни не монохромные, а черно-белые, т.е. в оттенках серого
хорошо, grayscale - устроит?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39277189
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima T
Код: plaintext
1.
2.
3.
4.
int ix;
unsigned int uy;
... 100500 строк кода
if(ix > uy) // написав это невольно задумаешься


Мне вот не даёт покоя Delphi/Pascal-евский with. Придумал гипотетическое расширение к language.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int ix;
int iy;
with _ {
   // здесь отключили нотацию.
   ... 100500 строк кода
   if (x>y) // пишем не думая
}




господи, ну что за детский сад!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
# cat test23.c
int main() {
  int x = 1;
  unsigned int y = 2;

   return (x > y);
}


# gcc test23.c -Wextra

test23.c: In function ‘main’:
test23.c:5:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    return (x > y);
              ^



в остальном аналогично. да, gcc, vs не позволяют поймать переприсваивание разных числовых типов - разных, в части разные typedef от int без проблем переприсваиваются.

но нормальные статические анализаторы - вполне могут пояснить, что ты в переменную типа "номер колонки" присваиваешь тип "номер строки". Нужно просто чуть напрячься и настроить там ключи для такой проверки.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39277194
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryТем не менее, за счет того, что с некоторыми вашими утверждениями сложно не согласиться, и их бесспорно можно принять за истину, вы в общем потоке своего сознания добавляете некоторые суждения, которые являются только вашим личным мнением, и никак не общепринятым
К примеру? где конкретика?


SashaMercuryЧто касается венгерской нотации. Ниже вы привели цитату
авторEncoding the type of a function into the name (so-called Hungarian
notation) is brain damaged - the compiler knows the types anyway and can
check those, and it only confuses the programmer.

Поясню вам. Венгерская нотация создавалась не для программы осуществляющей компиляцию. Она создавалась для программиста. Ее основным назначением является удобство при чтении и анализе кода. Не всегда, когда вы читаете код, вы используете IDE. Кроме того, под венгерской нотацией в настоящее время следует скорее понимать не систему префиксов-типов, а систему префиксов. Где-то данная нотация будет избыточной, где-то она используется неправильно. В каких-то проектах она используется в качестве основной системы нотаций(пусть даже таких проектов мало, мне это не известно), в каких она применяется только локально. Потому неправильно делать столь категоричные выводы

зачем ты говоришь это мне? напиши Торвальдсу (и тысячам разработчиков, которые приняли указанную выше конвенцию) письмо, о том, что ты не brain-damaged, а потом опубликуй ответ?

правила какие-то правильные, применяемые неправильно... о чем вообще речь-то?
он вполне пояснил, что задачу контроля совместимости типов может делать компилятор и лексический анализатор, не надо это принудительно вешать на программиста. и он прав - лишняя информация только затрудняет чтение и понимание кода (это и подразумевается под confused).
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 6 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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