LINUX.ORG.RU
ФорумTalks

[языки программирования] Неразбериха в голове

 


0

0

С чем связан тот факт, что на некоем Тьюринг-полном языке, на котором, по определению, можно реализовать любой алгоритм, бывает чрезвычайно тяжко, а то и невозможно собрать какое-нить архитектурное решение?

Это то, что называют семантикой языка, или другое?

Как пример, можно привести "излюбленный" C++, и его язык шаблонов, который, по сути, прибит к плюсам гвоздями-сотками, и нихрена не вписывается по "внешнему виду".

Истина где-то рядом?

Ответ на: комментарий от tailgunner

> ...динамически типизированные языки, а Си++ - статически

Да, после нескольких относительно безуспешных попыток сваять на чистых плюсах одну херь с горечью убедился, что на Python это делается чуть-ли не мигом. Статическая типизация умирает в программировании систем, не сильно требовательных к размеру и скорости кода?

> система шаблонов Си++ изначально не проектировалась как язык программирования

А как что она программировалась? Замена стандартного препроцессора? Не похоже ни разу вообще. #define false true лично я не представляю, как сделать на шаблонах.

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

>> система шаблонов Си++ изначально не проектировалась как язык программирования

> А как что она программировалась? Замена стандартного препроцессора? Не похоже ни разу вообще. #define false true лично я не представляю, как сделать на шаблонах.

Не пиши чушь.

Шаблоны сделаны для параметризации типов, в основном для контейнеров. Симулировать их можно и с препроцессором, но у этого подхода есть недостатки.

Spectr ★★★
()
Ответ на: комментарий от one_more_hokum

> Статическая типизация умирает в программировании систем, не сильно требовательных к размеру и скорости кода?

Статическая типизация умирает в программировании систем, которые не сильно нужны работоспособными.

>> система шаблонов Си++ изначально не проектировалась как язык программирования

> А как что она программировалась?

Программировалась? O_o

> Замена стандартного препроцессора? Не похоже ни разу вообще.

Как скажешь.

P.S. Завязывай с наркотиками, они не доведут до добра.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Программировалась? O_o

Какой косяк с моей стороны!!! Проектировалась, конечно. :-)

> Как скажешь.

Как я скажу, я знаю. Меня интересует мнение других. Из которого я буду делать выводы.

> P.S. Завязывай с наркотиками, они не доведут до добра.

Лентяй ты. Вместо того, чтобы распространять хорошее, доброе, вечное...

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

> Статическая типизация умирает в программировании систем, не сильно требовательных к размеру и скорости кода?

Просто в плюсах достаточно хреновая статическая типизация.

Miguel ★★★★★
()
Ответ на: комментарий от Spectr

> Шаблоны сделаны для параметризации типов, в основном для контейнеров.

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

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

> Проектировалась, конечно. :-)

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

> Меня интересует мнение других.

Сам Страуструп во втором издании книги говорил о шаблонах, как о хитрых макросах.

tailgunner ★★★★★
()
Ответ на: комментарий от one_more_hokum

> Есть где-нить в удобочитаемом виде техзадание на разработку шаблонов, что именно они хотели с них получить?

Представь себе, есть.

"The design and Evolution of C++" Bjarne Stroustrup - в России издана как "Дизайн и эволюция C++".

Spectr ★★★
()
Ответ на: комментарий от one_more_hokum

> Есть где-нить в удобочитаемом виде техзадание на разработку шаблонов, что именно они хотели с них получить?

Страуструп в "Дизайн и эволюция С++" пишет, что он хотел обобщённые типобезопасные контейнеры.

Begemoth ★★★★★
()
Ответ на: комментарий от tailgunner

> в облике Алекса Степанова

По слухам, идея STL забрела ему в голову, когда он валялся в больничке после серьёзного отравления рыбой в состоянии "изменённого сознания". Хотя, мог бы просто почитать SICP. :-)

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

> По слухам, идея STL забрела ему в голову, когда он валялся в больничке после серьёзного отравления рыбой

Жаль, не насмерть.

tailgunner ★★★★★
()
Ответ на: комментарий от one_more_hokum

> А что тебя именно раздражает: сама идея, или реализация?

Да без разницы. Меня раздражает, что сделали с языком ради реализции STL, и что из него сделали эквилибристы типа Александреску и аффтаров Буста.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Жаль, не насмерть.

-- А может, не надо бы так? Всё-таки человек, живое дыхание... Ну, грешен --- так накажите, поучите, а зачем вот так-то?

-- Ты, это, брось!.. Ты, это, потише: во-первых, люди кругом...

Zenom ★★★
()
Ответ на: комментарий от one_more_hokum

> Собирался как-то закупиться ей -- так и не собрался. Может, взять?

Полезная книга. После её прочтения становится понятно, почему этот язык C++ такой как есть, и спокойнее его воспринимать; и какие его части в каких случаях лучше использовать.

Spectr ★★★
()
Ответ на: комментарий от one_more_hokum

> Это не лечится. Не компилируется и не поддерживается. :-)

Это компилируется, поддерживается и работает, на при взгляде на исходники на ум приходят слова "лютый пиздец".

tailgunner ★★★★★
()
Ответ на: комментарий от Miguel

> в плюсах достаточно хреновая статическая типизация

А покажи на язык, который с "правильной" статической типизацией? Я его потыкаю!

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от tailgunner

> "лютый пиздец"

Можбыть, "вырвиглазный пиздец"?

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от one_more_hokum

> >в плюсах достаточно хреновая статическая типизация

> А покажи на язык, который с "правильной" статической типизацией?

Ха, это ж Мигель %) Ясное дело, что он посоветует.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Опять же, если отравится рыбой человек, пейсавший код с бустом, последователи его осилят разобраться в этой феерии? Одна надежда -- качественная, построчная документация кода.

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от tailgunner

>> Статическая типизация умирает в программировании систем, не сильно требовательных к размеру и скорости кода?

>Статическая типизация умирает в программировании систем, которые не сильно нужны работоспособными.

TG, ты в каком мире живешь? Я думаю не в нашем. В нашем мире и ежу очевидно что статическая типизация раздувает зависимости. А хороший программист - ленивый программист которому попросту впадлу выделять отдельные библиотеки типов, шарить их между проектами и сдувать с них пылинки.

Absurd ★★★
()
Ответ на: комментарий от Absurd

Ты ж ушел вроде в знак протеста?

> TG, ты в каком мире живешь? Я думаю не в нашем

Яволь.

> В нашем мире и ежу очевидно что статическая типизация раздувает зависимости.

Расскажи мне еще о вашем мире :)

> хороший программист - ленивый программист которому попросту впадлу выделять отдельные библиотеки типов, шарить их между проектами и сдувать с них пылинки.

Первые 4 слова - правильные, остальное - чушь из другого мира.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> остальное - чушь из другого мира

typedef?

one_more_hokum ★★★
() автор топика
Ответ на: комментарий от tailgunner

>Ты ж ушел вроде в знак протеста?

Никаких протестов я не устраивал. Просто теперь тут читать совсем нечего.

Absurd ★★★
()
Ответ на: комментарий от one_more_hokum

> А покажи на язык, который с "правильной" статической типизацией? Я его потыкаю!

Похоже, я первый в этом треде. Ну что ж, буду оригинален: есть такой язык, называется Хаскель.

AndreyKl ★★★★★
()
Ответ на: комментарий от Miguel

>> А покажи на язык, который с "правильной" статической типизацией?

> Haskell.

Ах нет.. наши уже в городе.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

> Ах нет.. наши уже в городе.

Сами будете не рады,
Утром вставши - вот те раз -
Все мосты через преграды
Переброшены без вас...

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.