powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Язык програмирования D имеет будущее?
48 сообщений из 48, показаны все 2 страниц
Язык програмирования D имеет будущее?
    #33967320
roger.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Язык програмирования D имеет будущее?
Очень хотелось бы услышать мнение тех кто с ним или работал, или работает.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33967389
Фотография Green2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что это?

--



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33967403
roger.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кто не знает:

http://www.digitalmars.com/d/index.html
http://www.dprogramming.com/
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968142
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с появлением 2003+ студии врядли. он микрософт не нужен, а скоро под винду будет идти только то, что нужно микрософту (написанно на NET например)
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968270
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сборщик мусора и проверка границ массивов? И в то же время - язык системного программирования. Ню-ню.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968359
roger.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinс появлением 2003+ студии врядли. он микрософт не нужен, а скоро под винду будет идти только то, что нужно микрософту (написанно на NET например)

То есть Windows вскором будит без API функций???!!!
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968422
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будет одна ограмная апи -framework которая уже в ядро начинает вливаться
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968866
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На винде будет полностью управляемый WinFX, с которым будет работать сш. А на линухе - хз, если честно... в курсе, что lighttpd появился через 8 лет после апача?
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968879
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вся гадость в том что проги под винду не пойдут на другий осях, даже если очень постараться их перенести
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968886
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще, почитал, язык интересный, но, думаю, сш будет его поглощать (несильно, но будет).
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968931
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ди не распростанет как си
сиш под винду сразу.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33968942
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinвся гадость в том что проги под винду не пойдут на другий осях, даже если очень постараться их перенестиособенно ржачно в этом случае будет выглядеть проверка на шестую версию NT.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33969218
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklinбудет одна ограмная апи -framework которая уже в ядро начинает вливаться

И кому будет нужна такая поделка, если есть уже Emacs?
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33969246
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маздай не признаёт emacsов, она свои велосипеды делает.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33969447
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmoсборщик мусора и проверка границ массивов? И в то же время - язык системного программирования. Ню-ню.

Сборщик мусора в D можно не использовать, это не джава. Системное программирование сейчас в большой степени не то что было 30 лет назад, так что может и подходит для современного системного программирования. Хотя насколько я знаю, специально как язык системного программирования автор его не продвигает.

ИМХО очень приятный язык, хорошо продуман и выполнен. Автор супер, даже не представляю как он ухитрился столько сделать. Мелкософт со своим пошарпаным С, кривым фреймворком и командой лучших в мире профессионалов должно учиться у этого человека.

Есть ли у языка будущее зависит от того, станет ли его специально кто-нибудь продвигать на рынке. Потенциал у языка очень хороший, программировать гораздо легче чем на С++, я бы не задумываясь перешел на него, если бы был уверен что проект выживет и что будут появляться компиляторы под новые процессора.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33970769
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Сборщик мусора в D можно не использовать, это не джава.через std.gc.disable(); ? Немножко напрягает такая фраза: manIf the collector runs out of memory while it is disabled, it will throw an OutOfMemory exceptionЭто они об чём?

c127ИМХО очень приятный язык, хорошо продуман и выполнен. Есть ли у языка будущее зависит от того, станет ли его специально кто-нибудь продвигать на рынке.Только если его микросакс купит... Больше это никому не сдалось. Скорость никого не волнует. Фичи? В крайнем случае сделают жабу 3, сш 3.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33971628
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж, прикольный синтаксис
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 char [] toupper( char [] s)
{
     int  changed;
     int  i;

    changed =  0 ;
     for  (i =  0 ; i < s.length; i++)
    {
	 char  c = s[i];
	 if  ('a' <= c && c <= 'z')
	{
	     if  (!changed)
	    {    char [] r =  new   char [s.length];
		r[] = s;
		s = r;
		changed =  1 ;
	    }
	    s[i] = c - (cast( char )'a' - 'A');
	}
    }
     return  s;
}
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33972624
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo c127Сборщик мусора в D можно не использовать, это не джава.через std.gc.disable(); ? Немножко напрягает такая фраза: manIf the collector runs out of memory while it is disabled, it will throw an OutOfMemory exceptionЭто они об чём?

Не знаю, я же не автор.

Если не ошибаюсь, то сборщик мусора не работает, если не использовать new или использовать явное освобождение памяти. А если он не работает, то не может израсходовать всю память.

Насчет проверки границ массивов:
In D, array bounds checking is on by default and it can be turned off with a compiler switch after the program is debugged.
http://www.digitalmars.com/d/cppstrings.html

maXmoТолько если его микросакс купит...
Да ладно, не преувеличивайте роль мелкософта в мировом заговоре. Питон с перлом уже купили?

maXmoБольше это никому не сдалось.
Не расписывайтесь за всех, народ потихоньку использует, вопрос только в том, будут ли использовать больше.

maXmoда уж, прикольный синтаксис
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 char [] toupper( char [] s)
{
     int  changed;
     int  i;

    changed =  0 ;
     for  (i =  0 ; i < s.length; i++)
    {
	 char  c = s[i];
	 if  ('a' <= c && c <= 'z')
	{
	     if  (!changed)
	    {    char [] r =  new   char [s.length];
		r[] = s;
		s = r;
		changed =  1 ;
	    }
	    s[i] = c - (cast( char )'a' - 'A');
	}
    }
     return  s;
}

А что тут прикольного? На D вместо
Код: plaintext
1.
2.
3.
4.
char[] r = new char[s.length];
r[] = s;
s = r;
changed =  1 ;
луше было бы записать примерно так:
Код: plaintext
1.
2.
char[] r = s;
сhanged =  1 ;
Хотя смысл данного фрагмента в этой функции для меня есть великая загадка.

По-моему правильнее эту функцию было бы реализовать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
char[] toupper(char[] s)
{
    for (int i =  0 ; i < s.length; i++)
    {
	if ('a' <= s[i] && s[i] <= 'z')
	{
	    s[i] -= cast(char)('a' - 'A');
	}
    }
    return s;
}
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33973364
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Питон с перлом уже купили?питон - это альтернатива пхп (причём, боюсь, чисто синтаксическая), у микросакса для этих целей есть асп.нет. Перл - текстовый процессор? На виндах это, боюсь, вообще неактуально. Хотя на нём пишут целые системы. У микросакса для этого есть .нет

c127народ потихоньку использует, вопрос только в том, будут ли использовать больше.free pascal знаешь, что такое? Его тоже народ потихоньку использует.

c127Хотя смысл данного фрагмента в этой функции для меня есть великая загадка.ну как же? Тут всё просто. r[] = s; - это копирование масива, s = r; - это присвоение указателя. Всё интуитивно понятно

c127По-моему правильнее эту функцию было бы реализовать так:это был пример copy on write (цель - не изменить исходный массив, он передаётся по ссылке).
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33973389
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для большей понятности это следовало переписать так:
Код: plaintext
1.
2.
3.
	     if  (!changed)
	    {   s = s.dup;
		changed =  1 ;
	    }
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33975286
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo c127Питон с перлом уже купили?питон - это альтернатива пхп (причём, боюсь, чисто синтаксическая), у микросакса для этих целей есть асп.нет. Перл - текстовый процессор? На виндах это, боюсь, вообще неактуально. Хотя на нём пишут целые системы. У микросакса для этого есть .нет
Питон это язык программирования, как и перл. При чем тут текстовый процессор? Кто кому альтернатива можно спорить до бесконечности.

Мы же не об этом. Вы сказали, что у языка есть перспектива только если мелкософт его купит. Я привел 2 примера языков, которые к мелкософт не купил, но которые при этом успешны.

maXmo
c127Хотя смысл данного фрагмента в этой функции для меня есть великая загадка.ну как же? Тут всё просто. r[] = s; - это копирование масива, s = r; - это присвоение указателя. Всё интуитивно понятно
Предложенный мной char[] r = s; вроде тоже копирует массив, но могу ошибаться.

Смысл ВСЕГО фрагмента if (!changed) {} непонятен.

maXmo
c127По-моему правильнее эту функцию было бы реализовать так:это был пример copy on write (цель - не изменить исходный массив, он передаётся по ссылке).
Нужна копия - сделайте ее в начале подпрограммы и работайте с ней, потом вернете return r; зачем городить if (!changed) в каждом цикле и переприсваивание s = r;?

Вы на джаве программируете?
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33975322
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Смысл ВСЕГО фрагмента if (!changed) {} непонятен. Это действительно copy-on-write.
Они выделяют память под новый массив если в исходном есть что изменять. И не выделяют если ни один из символов исходной строки не нуждается в замене.
Это может быть полезным если исходная строка является константой.
Например в таком коде:
Код: plaintext
1.
char[] s1 = toupper("aaa"); // s1 показывает на специально выделеный кусок памяти
char[] s2 = toupper("AAA"); // s2 показывает на кусок памяти прямо в коде. И не тратит места в динамической памяти
хотя конечно синтаксис
Код: plaintext
1.
	r[] = s;
	s = r;
выглядит весьма прикольно. К такому надо еще привыкать...
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33975640
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoда уж, прикольный синтаксис

Да ну... Строки некрасивые. Паскалевщина какая. Самые лучшие строки это сишные строки, так как указатель, во-первых является весьма эффективной реализацией механизма перебора символов строки, а во-вторых, всегда указывает на "хвост" строки, что позволяет программисту более просто использовать рекурсию в своих алгоритмах.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976026
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Предложенный мной char[] r = s; вроде тоже копирует массив, но могу ошибаться.нет, присваивает указатель: некуда копировать.

c127Вы на джаве программируете?нет, а что?

DarkSquidСамые лучшие строки это сишные строкигде-то (кажись, у страуса) написано, что нет идеальных строк, т.к. разные люди работают с ними по-разному и хотят от них разных возможностей. Но в Д можно и указателями фигарить (если не страшно: надо шарить). Смешение указателей и проверки на конец массива - имхо, адская смесь.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976104
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне язык нравится. С удовольствием бы смигрировал на него часть задач бизнес-уровня, которые работают непосредственно с железом и сетями.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976106
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то я уже рвал подобный боян... ага ... вот здесь.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976127
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonГрустно было видеть как мы ломали и кромсали код... Везде за нами тянулся ворох поблем начиная от разрядности int, char и float и заканчивая механизмами связвания взаимодействия потоков и процессов.у них по этому поводу тоже есть опус: http://digitalmars.com/d/portability.html
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976226
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl c127Смысл ВСЕГО фрагмента if (!changed) {} непонятен. Это действительно copy-on-write.
Они выделяют память под новый массив если в исходном есть что изменять. И не выделяют если ни один из символов исходной строки не нуждается в замене.
Это может быть полезным если исходная строка является константой.
Например в таком коде:

Я понимаю зачем копировать строку, я не понимаю, зачем это делать в цикле и с проверкой if (!changed){...; changed=1};. В начале процедуры вроде получается проще и понятнее. Но в D есть in и out параметры, так что если реализовано правильно, то можно не копировать, строка не изменится.

Проверил, реализовано неправильно. ИМХО.

maXmo c127Предложенный мной char[] r = s; вроде тоже копирует массив, но могу ошибаться.нет, присваивает указатель: некуда копировать.
Да, я ошибся.

Куда копировать есть, никто не мешает выделить память, скопировать туда строку и присвоить новому указателю ардес этой памяти.

DarkSquid
Да ну... Строки некрасивые. Паскалевщина какая. Самые лучшие строки это сишные строки, так как указатель, во-первых является весьма эффективной реализацией механизма перебора символов строки, а во-вторых, всегда указывает на "хвост" строки, что позволяет программисту более просто использовать рекурсию в своих алгоритмах.
В D сишные строки тоже поддерживаются, более того их можно смешивать с родными D-шными и наслаждаться привычным c=*(s+5);.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976248
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkSquid
Да ну... Строки некрасивые. Паскалевщина какая. Самые лучшие строки это сишные строки, так как указатель, во-первых является весьма эффективной реализацией механизма перебора символов строки, а во-вторых, всегда указывает на "хвост" строки, что позволяет программисту более просто использовать рекурсию в своих алгоритмах.

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

А красивость ASCIIZ массивов может вылезти большим геморром в виде O(n) сложности операции определения длины и т.п. Ну, если вы на этот грабель еще не наступали - то не беспокойтесь зря. Видимо не писали проджектов, где это - time-critical.

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

Ха! Наивные...
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976319
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть несколько тысяч языков программирования. Большинство из них не нужны. Поэтому можно смело предположить, что и D не нужен, а также E, F, G итд если такие есть. Неинтересно даже узнавать, что это такое - если б оно было нужное, я бы знал. Хотя ещё более тяжёлый случай - на сайте www.rsdn.ru Единственный российский журнал по программированию - RSDN - превратился в настоящую помойку и не стоит испорченной для него бумаги. Поэтому там были опубликованы статейки о неких языках Scala и Nemerle (то и другое бред сивой кобылы). Теперь вижу в форуме там - наивные люди обсуждают, чем они лучше обычных и не побеждают ли уже эти языки в конкуренции. Нет, не побеждают и вообще не нужны. Нужного и так настолько много, что нечего тратить время на маргинальное.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976799
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127я не понимаю, зачем это делать в цикле и с проверкойну ты мля. Это единственный способ избежать ненужного копирования. И in и out тут тебе не помогут.

c127Куда копировать есть, никто не мешает выделить память, скопировать туда строку и присвоить новому указателю ардес этой памяти.для этого нужно написать 4 лишних символа char[] r = s.dup. А как ты прикажешь компилятору различать присваивание адреса исходного массива и его дубликата? У мистера Андерсена спрашивать?
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976969
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo c127я не понимаю, зачем это делать в цикле и с проверкойну ты мля. Это единственный способ избежать ненужного копирования. И in и out тут тебе не помогут.
А так что, не копируется? Копируется на первом прохождении цикла. Цикл не проходится, если строка пустая, но пустые массивы не копируются, так что в этом случае Вы ничего не экономите. А лишний if в цикле имеет место быть и, что важнее, худшая читаемость программы.

Параметры in, out для того и придуманы, чтобы гарантировать неизменность параметров там где нужно. Но в D реализовано так, что они для массивов они ничего не гарантируют. Это кривость по-моему.

maXmo c127Куда копировать есть, никто не мешает выделить память, скопировать туда строку и присвоить новому указателю ардес этой памяти.для этого нужно написать 4 лишних символа char[] r = s.dup. А как ты прикажешь компилятору различать присваивание адреса исходного массива и его дубликата? У мистера Андерсена спрашивать?
Это вопрос реализации. ИМХО указатели ведут к тяжело отслеживаемым ошибкам, но иногда без них обойтись сложно, поэтому если я бы их позволял использовать, то с дополнительными усилиями и char[] r = s; или r = s; реализовал бы копированием, а если нужно указатель, то как-нибудь так: char* r=s;


Partisan M
Есть несколько тысяч языков программирования. Большинство из них не нужны. Поэтому можно смело предположить, что и D не нужен, а также E, F, G итд если такие есть.
По этой же логике также можно предположить что не нужны C, джава, перл, а о C# и говорить не стоит. Ведь они тоже одни из нескольких тысяч, а последний вообще из новых и лет 8 назад о них не слышали не только Вы, но и все остальные. На тот момент языков было не намного меньше, так что в логике ничего не меняется.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33976980
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127
а последний вообще из новых и лет 8 назад о них не слышали не только Вы, но и все остальные.
Ошибочка, эту фразу следует читать так:
"а последний вообще из новых и лет 8 назад о нем не слышали не только Вы, но и все остальные."
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33977336
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127и char[] r = s; или r = s; реализовал бы копированиемсделать массив value-type? :)
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33979218
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Я понимаю зачем копировать строку, я не понимаю, зачем это делать в цикле и с проверкой if (!changed){...; changed=1};. В начале процедуры вроде получается проще и понятнее. Но в D есть in и out параметры, так что если реализовано правильно, то можно не копировать, строка не изменится.

Проверил, реализовано неправильно. ИМХО.Проверяй еще раз, все там правильно.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33979448
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo c127и char[] r = s; или r = s; реализовал бы копированиемсделать массив value-type? :)
В данном случае я говорил о синтаксисе, что там внутри сейчас не важно.

White Owl c127
Проверил, реализовано неправильно. ИМХО.Проверяй еще раз, все там правильно.
Неправильно, параметр типа in меняется функцией, а он не должен.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33979457
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Неправильно, параметр типа in меняется функцией, а он не должен.Параметр? Неее.. параметр там не меняется. Меняется локальная переменная s впервые упомянутая внутри функции как параметр. Но сам-то параметр не меняется.
Или тебя само присвоение переменной s смущает? Нуууу кое-какой смысл в запрете присваивать новое значение переменным-параметрам есть. Но если этот запрет приводить в жизнь - 90% библиотек прийдется переписывать :)
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33980218
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127 maXmoсделать массив value-type? :)В данном случае я говорил о синтаксисе, что там внутри сейчас не важно.знаешь какой-нить язык, где эта жуть реализована?

c127Неправильно, параметр типа in меняется функцией, а он не должен.но он ведь не out, так что всё пучком.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33980226
Фотография La_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M D не нужен, а также E, F, G

G - это название языка LabView. Довольно полезная штука вроде как.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33982479
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНуууу кое-какой смысл в запрете присваивать новое значение переменным-параметрам есть.
А какой? Ведь параметр все равно дальше одного вызова функции не живет... Ну разве что дополнительная защита от кривого кодера, случайно модифицирующего этот параметр
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33982616
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шогал White OwlНуууу кое-какой смысл в запрете присваивать новое значение переменным-параметрам есть.
А какой? Ведь параметр все равно дальше одного вызова функции не живет... Ну разве что дополнительная защита от кривого кодера, случайно модифицирующего этот параметрИменно такой.
Если функция большая-большая, то через цать лет бывает сложно вспомнить что переменная уже не содержит входной параметр в конце работы функции.
В Си такое ограничение ставится указанием const для параметра функции. А здесь через in/out/inout.
По идее, в обсуждаемой функции toupper(), параметр не обязательно делать возвращаемым. Можно конечно, но как-то неудобно.... Вот что выдаст такой код?
Код: plaintext
1.
2.
char[] s1="aaaa\n";
toupper(s1);
printf(s1);
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33982624
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl c127Неправильно, параметр типа in меняется функцией, а он не должен.Параметр? Неее.. параметр там не меняется. Меняется локальная переменная s впервые упомянутая внутри функции как параметр. Но сам-то параметр не меняется.
Или тебя само присвоение переменной s смущает? Нуууу кое-какой смысл в запрете присваивать новое значение переменным-параметрам есть. Но если этот запрет приводить в жизнь - 90% библиотек прийдется переписывать :)
По-моему имеет место небольшое непонимание. Я говорил о том, что если параметр объявлен как in, то что бы вызываемая функция с ним не делала, в вызывающей функции должно отстаться старое значение. Т.е. система делает копию в функции и с ней работает, оригинал не меняется. Иначе я не представляю зачем эти in, out нужны.

maXmo c127 maXmoсделать массив value-type? :)В данном случае я говорил о синтаксисе, что там внутри сейчас не важно.знаешь какой-нить язык, где эта жуть реализована?
В STL-е если не ошибаюсь. Не язык, но все-же.
maXmo
c127Неправильно, параметр типа in меняется функцией, а он не должен.но он ведь не out, так что всё пучком.
Он ведет себя как inout.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33985197
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Я говорил о том, что если параметр объявлен как in, то что бы вызываемая функция с ним не делала, в вызывающей функции должно отстаться старое значение.только не надо всё-таки забывать про особенности ссылочных типов. Когда передаёшь ссылку по значению, сам объект всё равно можно будет изменить.

c127Он ведет себя как inout.нет, это in-параметр ссылочного типа :) то есть когда ты делаешь s=r, то s снаружи не изменится (если бы был inout, то изменился бы).
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33985689
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo c127Я говорил о том, что если параметр объявлен как in, то что бы вызываемая функция с ним не делала, в вызывающей функции должно отстаться старое значение.только не надо всё-таки забывать про особенности ссылочных типов. Когда передаёшь ссылку по значению, сам объект всё равно можно будет изменить.
c127Он ведет себя как inout.нет, это in-параметр ссылочного типа :) то есть когда ты делаешь s=r, то s снаружи не изменится (если бы был inout, то изменился бы).
Я знаю что такое ссылочные типы и очень хорошо о них помню. Забыть не могу. Уже говорил, что ссылки ведут к трудноотслеживаемым ошибкам и в большинстве случаев никому не нужны, поскольку ссылки почти никогда никого не интересуют, интересуют данные, на которые они указывают. Я надеялися что в D все это реализовано по-человечески, но ошибся.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33985726
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Уже говорил, что ссылки ведут к трудноотслеживаемым ошибкам и в большинстве случаев никому не нужны, поскольку ссылки почти никогда никого не интересуют, интересуют данные, на которые они указывают. Я надеялися что в D все это реализовано по-человечески, но ошибся.Зато без ссылок трудно писать что-либо низкоуровневое. С другой стороны, процент низкоуровневых задач по отношению к прикладным микроскопичен :)

Меняю тему.
Толи у меня дежа-вю, толи некий язык D уже был предложен где-то в семидесятых годах прошлого века, как развитие С. Не знаю что там было придумано, видел только упоминания о нем в исторических статьях. Ровесник и первый конкурент С++. Но у крестов была объектность, а тот давний D был простым расширением С. Ну и естественно умер. Так вот может кто-нибудь помнит что-нибудь более конкретное про первый D? :)
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33986525
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в следующий стандарт С, кажись, будут введены конструкции для bound checking'a :)
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33988871
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
Толи у меня дежа-вю, толи некий язык D уже был предложен где-то в семидесятых годах прошлого века, как развитие С. Не знаю что там было придумано, видел только упоминания о нем в исторических статьях. Ровесник и первый конкурент С++. Но у крестов была объектность, а тот давний D был простым расширением С. Ну и естественно умер. Так вот может кто-нибудь помнит что-нибудь более конкретное про первый D? :)
Тогда скорее не в семидесятых, а в восьмидесятых, в семидесятых объектность мало кого интересовала. Да и С++ появился в восьмидесятых по-меому так что не мог быть могильщиком того D.

Я о таком языке ничего не слышал, хотя если он был, то скорее всего назывался именно D, ибо B -> C -> D.
...
Рейтинг: 0 / 0
Язык програмирования D имеет будущее?
    #33991241
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Тогда скорее не в семидесятых, а в восьмидесятых, в семидесятых объектность мало кого интересовала. Да и С++ появился в восьмидесятых по-меому так что не мог быть могильщиком того D. Не, там кажется не было объектов совсем... А вот что было - не знаю :(
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Язык програмирования D имеет будущее?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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