Автор Тема: D в GCC  (Прочитано 14397 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #15 : Июль 06, 2012, 09:41:32 am »
Нет <> это не то же что и !=. Вообще, чтобы знать что это за операторы и зачем, нужно прочесть вот это: http://dlang.org/expression.html : Floating point comparisons. Это операторы для работы с плавающей точкой и они действительно точно позволяют выразить то, что описано в IEEE 754, в отличае от С++. Без этого язык не полон либо не однозначен.

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

Подобные операторы, имхо, следует убрать из языка и определить в спец. модуле Math в виде функций с говорящими названиями.
Тогда уж и сам тип float туда же :-)
Но если мы хотим что бы модуль Math был написан на языке высокого уровня а не асме, то операторы таки придется внести в язык.

Вообще, эти операторы никому же не мешают - начал бы изучать D также как C++, до сих пор про них не знал бы :-) Незнание - сила!
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #16 : Июль 06, 2012, 11:30:42 am »
Вообще, эти операторы никому же не мешают - начал бы изучать D также как C++, до сих пор про них не знал бы :-) Незнание - сила!

То есть как это не мешают???
Ковыряешься, значит, в чужой программе -- а тут бац!!!
Птичий язык а-ля Хацкель: >>>= !<> !>= и прочие иероглифы...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #17 : Июль 06, 2012, 11:33:15 am »
Вообще, эти операторы никому же не мешают - начал бы изучать D также как C++, до сих пор про них не знал бы :-) Незнание - сила!

То есть как это не мешают???
Ковыряешься, значит, в чужой программе -- а тут бац!!!
Птичий язык а-ля Хацкель: >>>= !<> !>= и прочие иероглифы...
Ну идешь в справочник и смотришь что это такое :-) То же мне, проблема. Вообще какой-нибудь <= или там <> (в паскале) ничуть не лучше - один фиг в справочник лезть по первости.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #18 : Июль 06, 2012, 11:56:07 am »
Вообще какой-нибудь <= или там <> (в паскале) ничуть не лучше - один фиг в справочник лезть по первости.

Ну по первости -- возможно, а опытным программистам, изучающим новый язык, эти операторы и так уже знакомы...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #19 : Июль 06, 2012, 12:09:21 pm »
Вообще какой-нибудь <= или там <> (в паскале) ничуть не лучше - один фиг в справочник лезть по первости.

Ну по первости -- возможно, а опытным программистам, изучающим новый язык, эти операторы и так уже знакомы...
Зависит от его предыдущего опыта. Кому то эта вот стрелочка влево: <= может быть ну нифига не интуитивной (тем более что далеко не везде она обозначает именно меньшеравно), ибо они привыкли для меньшеравно к например le.

PS. А вообще - проблема надумана. Найди мне реальный исходник на D с которым ты мог бы столкнуться по работе и где бы эти неизвестные тебе операторы использовались бы.

PPS. Вообще, по моему, опытный программист должен знать что делать в случае если вдруг увидел что-то неизвестное, особенно когда документация по языку общедоступна. Напугать такое может только быдлокодера или совсем уж новичка.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #20 : Июль 06, 2012, 12:22:28 pm »
PS. А вообще - проблема надумана. Найди мне реальный исходник на D с которым ты мог бы столкнуться по работе и где бы эти неизвестные тебе операторы использовались бы.
Я реальных исходников на D вообще ни разу не видел, тем более по работе )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #21 : Июль 06, 2012, 12:33:09 pm »
PS. А вообще - проблема надумана. Найди мне реальный исходник на D с которым ты мог бы столкнуться по работе и где бы эти неизвестные тебе операторы использовались бы.
Я реальных исходников на D вообще ни разу не видел, тем более по работе )))
Ну а я видел, в том числе и по работе - и ни разу этих операторов там не встретил :-)

(вообще float используется в обычных задачах весьма редко. кстати, float также есть далеко не на всех процессорах, поэтому возможно этот тип вообще из рельно переносимого языка нужно выпилить. впрочем, как и операцию умножения для целых чисел)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #22 : Июль 06, 2012, 01:44:39 pm »
(вообще float используется в обычных задачах весьма редко. кстати, float также есть далеко не на всех процессорах, поэтому возможно этот тип вообще из рельно переносимого языка нужно выпилить. впрочем, как и операцию умножения для целых чисел)
Почему сразу выпилить? Ну нет аппаратной поддержки типа float или умножения целых -- и что с того? Ничто же не мешает реализовать их программно, с переносимостью языка это абсолютно никак не связано...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #23 : Июль 06, 2012, 02:02:42 pm »
(вообще float используется в обычных задачах весьма редко. кстати, float также есть далеко не на всех процессорах, поэтому возможно этот тип вообще из рельно переносимого языка нужно выпилить. впрочем, как и операцию умножения для целых чисел)
Почему сразу выпилить? Ну нет аппаратной поддержки типа float или умножения целых -- и что с того? Ничто же не мешает реализовать их программно, с переносимостью языка это абсолютно никак не связано...
Если руководствоваться той же логикой, то с тем же успехом в язык можно запихнуть тип vector и matrix и операции их перемножения например.

Вопрос - чем нужно руководствоаться при выборе что нужно пихать в язык, а что нет? (исходим из предположения что у нас чистый новый язык, и типов там пока нет вообще)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #24 : Июль 06, 2012, 02:23:12 pm »
Из обсуждения новости на LOR'e:
Цитировать
Плохо, что дебагер gdb толком не поддерживает D на уровне строк исходников. Язык без дебагера - это не то, что нужно пользователю.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #25 : Июль 06, 2012, 02:29:19 pm »
Кстати, там и про Оберон с Адой помянули: http://www.linux.org.ru/news/gnu/7941093/page4#comment-7947658
Цитировать
Цитировать
С++ неоправданно идиосинкратичен для изучения непрофессиональными программистами.
Я вообще подозреваю, что непрофессиональным программистам для их прикладных задач гораздо больше подошёл бы, скажем, Оберон (или даже Ада), чем любой из наследников Си.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #26 : Июль 06, 2012, 04:03:17 pm »
Вопрос - чем нужно руководствоаться при выборе что нужно пихать в язык, а что нет? (исходим из предположения что у нас чистый новый язык, и типов там пока нет вообще)
Тем, что часто используется, практикой то есть. А она разная в разных сферах применения...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: D в GCC
« Ответ #27 : Июль 06, 2012, 04:21:41 pm »
Вопрос - чем нужно руководствоаться при выборе что нужно пихать в язык, а что нет? (исходим из предположения что у нас чистый новый язык, и типов там пока нет вообще)
Тем, что часто используется, практикой то есть. А она разная в разных сферах применения...
И какова же сфера применения языка общего назначения? :-)
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #28 : Июль 06, 2012, 04:39:57 pm »
И какова же сфера применения языка общего назначения? :-)
В этой сфере тип Float и умножение целых -- нужны, а вот такие операции, как !<> и прочая херня -- нет.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: D в GCC
« Ответ #29 : Июль 06, 2012, 04:41:25 pm »
Именно поэтому, например, в хаскелле все эти парсековские операторы <+> и прочее не входят в язык, а определены в отдельном модуле.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…