LINUX.ORG.RU

для обеспечиния надёжности, у программиста должено быть достаточно *мозгов*, чтобы не надеяться, что инструмент(язык) решит данную проблему. наличие мозга также способствует выбору правильных инструментов для *конкретной задачи*. в качестве бонуса мозг позволяет проводить различия между относительными показателями надёжности и абсолютными(оные привязаны к частностям, например, к конкретной реализации стандарта).

p/s: всё сказанное выше вовсе не значит, что smalltalk чем-то плох, просто вопрос топика некорректный и групый.

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

>>> для обеспечиния надёжности, у программиста должено быть достаточно *мозгов*

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

anonymous
()
Ответ на: комментарий от Pi

Да и писать на нем, мягко говоря, не очень.

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

> Замечательно! :-))

Надо иметь мозги, чтобы продакшен на винде крутить...

anonymous
()

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

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

>Smalltalk мета-язык и позволяет писать более качественный код при меньшем количестве ошибок по сравнению с другими языками.

Форт - мета-язык. Но не позволяет писать более качественный код при меньшем количестве ошибок по сравнению с другими языками при отсутствии внимания программиста :)

...

Я, вот, аналогичное утверждение ещё про Хаскелл слышал. Что он самый лучший отлавливатель ошибок программиста ещё на этапе компиляции :)

Правда, ни Хаскелл, ни Смолток не спасут от такого: http://www.linux.org.ru/jump-message.jsp?msgid=2681883&cid=2684811

KRoN73 ★★★★★
()

>На странице "Почему Smalltalk?" http://www.smalltalk.ru/articles/why.html у Smalltalk-а меньше всего ошибок, а можно ли это считать надежностью написанной на нем системы в целом

Smalltalk - это язык, с динамической типизацией - т.е. поиск ошибок ( ошибок типизации а не синтаксиса) происходит посредством написания unit-тестов (которые собственно и были придуманы Smalltalk-ерами). при 100% покрытии кода unit-тестами можно гарантировать отсутствие ошибок, однако мне ниразу не приходилось слышать или видеть таке чудо ( 100% покрытие ). Smalltalk несомненно значительно более безопасен чем Python или Ruby - т.к. там (в Smalltalk) по крайней мере переменные (не типы переменных) декларируются.

однако нужно отметить, что за счет динамической типизации, уникального метапротокола, богатейшей библиотеки классов и уникальной системы разработки, делать софт на Smalltalk гораздо легче и быстрее чем на чем либо другом. есть открытые среды разработки со всеми причендалами ( REP, refactoring browsers, code completion и прочей лабудой )

>я думал что Ада лучший язык для обеспечания надежности.

Ada - язык со статической типизацией и уникальной ( и очень жесткой ) системой типов (например запрещены любые implicit conversion ). единственный язык ( из известных мне ), который (сам) умеет отслеживать арифметическое переполнение и соответствено wrapping.

более надежным (просто драконовские ограничения) является подмножество Ada, называемое SPARK ( http://www.sparkada.com )

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

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

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

> Smalltalk несомненно значительно более безопасен чем Python или Ruby - т.к. там (в Smalltalk) по крайней мере переменные (не типы переменных) декларируются.

Это для Питона обеспечивают pyflakes и pylint.

> подмножество Ada, называемое SPARK

Писал на нем?

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

>то в некоторых случаях искать ее совсем нетривиальная задача, потому что вывод об этой ошибке крайне неинформативен.

вероятно зависит от производителя среды и способа deploymentа. стандартно, при работе в среде, ошибка автоматом выкидывает в дебагер.

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

> SPARK - нет, Ada - да, немного. по работе - С++ и жаба.

а как-то сравнить можете?

anonymous
()
Ответ на: комментарий от Ian

> что если ошибка таки случилась, то в некоторых случаях искать ее совсем нетривиальная задача, потому что вывод об этой ошибке крайне неинформативен

Дебаггер есть, много чего есть. Видно плохо он среду осилил.

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