powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Написание программ без...
11 сообщений из 11, страница 1 из 1
Написание программ без...
    #36912062
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используя ЯП с жесткой типизацией можно ли написать достаточно сложную программу (не HelloWord) и стоит ли это делать, в коде которой не будет :
1. Неявных приведений типов: (YourClass) myobject
2. Явных приведений типов: (myobject as YourClass)
3. Проверок типов: myobject is YourClass
4. Интроспекции: myobject.GetType()
5. Конструкций обработок исключений try catch если система не обращается ко внешним неуправляемым ресурсам
С уважением, Naf
...
Рейтинг: 0 / 0
Написание программ без...
    #36912197
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf, без первых четырёх пунктов - возможно. Имхо, использование в коде п.1...4 говорит об ошибках в дизайне программы.
пятый пункт не относится к проблемам типизации совершенно.
...
Рейтинг: 0 / 0
Написание программ без...
    #36912215
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychNaf, без первых четырёх пунктов - возможно. Имхо, использование в коде п.1...4 говорит об ошибках в дизайне программы.
пятый пункт не относится к проблемам типизации совершенно.
5 включен чтоб не использjвать всякие динамические типы как в C# dynamic
...
Рейтинг: 0 / 0
Написание программ без...
    #36912253
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf5 включен чтоб не использjвать всякие динамические типы как в C# dynamicобработку ошибок предполагается основывать на кодах возврата таким образом )) назад, в прошлое?
...
Рейтинг: 0 / 0
Написание программ без...
    #36912283
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychNaf5 включен чтоб не использjвать всякие динамические типы как в C# dynamicобработку ошибок предполагается основывать на кодах возврата таким образом )) назад, в прошлое?ошибки разные бывают
просто насчет try был пример на 1С (не бейте только ногами :-) ) в котором огромный кусок кода помещен в этот самый try, почему? да просто человек не хотел проанализировать ситуацию и так сделал, а выяснилось что там рушится бизнес-логика, хотя внешне все выглядит пристойно
...
Рейтинг: 0 / 0
Написание программ без...
    #36912321
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf,

5. А как без экзепшинов будет построена система управления ошибками (проверка входных, промежуточных, выходных данных)? Это ж геморойно без экзепшинов что-то мутить в проектах со сложной структурой и (тем более) при наличии нетривиального взаимодействия с пользователем (который априори источник ошибок в самых непредсказуемых местах).

1-4. Смотря что за задачи решает программа и что такое "достаточно сложная". Например фреймворк с кучей сложных алгоритмов по кодированию-декодированию (форматы изображений, текста, шифрование и т.д.) - можно. Там собственно все четко определено. А вот например реализуешь интерфейс сериализации/десериализации неважно чего. Собственно суть этого - набор объектов разных типов преобразовывать в один тип (строку или бинарник например). И наоборот - из этой строки восстанавливать реальные объекты конкретных типов. Любая крупная система управления разнотипными данными так или иначе сталкивается с необходимостью таких преобразований. Я даже не вижу никакого богохульства в том, чтобы когда мне надо проверить какого именно типа (из типов-реализаций) является конкретный объект.

Если же задача не требует наличия каких-то фабрик или менеджеров, в которых могут возникнуть подобные проверки, тогда хорошо - обойдемся. Но в общем случае - нет.

Абстрактная задача "Поменять масло" при реализации все же требует от тебя указать механику, какого бренда масло ты хочешь залить. Хотя теоритически можно было бы ужесточить условия задачи и пусть механик анализирует остатки масла в бачке - вот такое же пусть и заливает. Тогда твое указание на "тип" масла не потребуется. Но это же геморой, требует излишних телодвижений, оборудования, и заставляет тебя всю жизнь пользоваться одним и тем же маслом.

Вот как-то так.

Т.е. в ряде случаев обойтись без всех 4-х пунктов пропросту не удастся. В ряде - придется установить неудобные ограничения или вводить какие-то неюзер-френдли форматы данных. Ну а в остальных случаях - пожалуйста. И многие из этих случаев - "достаточно сложные программы" )))
...
Рейтинг: 0 / 0
Написание программ без...
    #36912333
Naf, конечно можно без всего этого. А чем не угодили преобр. типов?
...
Рейтинг: 0 / 0
Написание программ без...
    #36912798
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafИспользуя ЯП с жесткой типизацией можно ли написать достаточно сложную программу (не HelloWord) и стоит ли это делать, в коде которой не будет :
1. Неявных приведений типов: (YourClass) myobject
2. Явных приведений типов: (myobject as YourClass)
3. Проверок типов: myobject is YourClass
4. Интроспекции: myobject.GetType()
5. Конструкций обработок исключений try catch если система не обращается ко внешним неуправляемым ресурсам
С уважением, Naf

здесь язык с жесткой типизацией идеален.
...
Рейтинг: 0 / 0
Написание программ без...
    #36912843
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf,

P.S. Посмотри на Haskell.
...
Рейтинг: 0 / 0
Написание программ без...
    #36912884
Берлuнгер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первые четыре решаются использованием одного типа в линейке -- например только int (в линейке char (здесь - 8 байтовое целое), short, int, long long, signed/unsigned). а сложность программы -- любая.
последнее вообще говоря непонятно зачем -- можно и без исключений обойтись, если программа не юзает системные функции...
...
Рейтинг: 0 / 0
Написание программ без...
    #36913334
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Незря ещё в Algol'68 была введена именно жесткая типизация...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Написание программ без...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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