Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     23 May 2003  13:08:22
 To : Ilya Dikarev
 Subject : Re: pascal
 -------------------------------------------------------------------------------- 
 
 
    Hi, Ilya!
 
 >>>>> "ID" == Ilya Dikarev <Ilya.Dikarev@f984.n463.z2.fidonet.org> writes:
 
  ID>>> Ведь далеко не все есть в библиотеках.
  
 VB>> готоывх численых методов в фортрановских библиотеках больше, чем в
 VB>> библиотеках какого-либо другого языка.
  
  ID>>> А осваивать придется _новый_ (для меня) язык.
 
 VB>> Угу.  Вот мы как-то подумали, почитали про Eiffel, и освоили.  Была
 
  ID> А энто что за зверь?
 
  OO-язык, со строгой статической типизаций.  
  
  Т.е. на момент компиляции должны быть известны ВСЕ классы, с которыми
  работает програма.  компилятор проверяет ВСЕ соответсвия всех типов всех
  объектов.  
 
  Hо сильно рпимечателен Eiffel тем, что реализует парадигму design by
  contract.
  
  Подробности можно почитать на www.eiffel.com, и далее по ссылкам.
  
  
  Мы пользовали SmallEiifel, потом он отрелизился, и стал SmartEiffel.
  берется  на http://smarteiffel.loria.fr/ Это такой GPL "компилятор".
  В кавычках, потому что практически все компиляторы Eiffel фактически
  генерят ANSI C исходник, и для кодогенерации используют компиляторы C.
  
  Логика примерно следующая "зачем нам делать то, что уже хорошо сделано в
  компиляторе Си?".  Этот факт, еще больше пподкрепил мое мнение, что 
  
    Си - это кроссплатформеный ассемблер, и писать на нем РУКАМИ, слишком
    дорого, и оправдано только в очень редких случаях.
  
  Hе путать, с С++, котоый таки уровнем по-выше.
  
  
 VB>> задача, на которую было выделено 3 месяца (из расчета на одного человека).
 VB>> Переход с Си на Eiffel после первого месяца дал экономию в месяц.  Т.е. за
 VB>> неделю инструментарий был освоен, и через три недели было готовое решение
 VB>> задачи.  Сильная экономия времени была на том, что это ОО + статическая
 VB>> типизация.  Отладчиком рабоать СОВСЕМ не приходилось, если программа
 VB>> падала - выдавался ПОЛHЫЙ traceback, со значениями всех классов.
  
 VB>> Да, странновато на каждое падение видеть пару тысяц строк текста в
 VB>> traceback, но зато четко видно где спорол глупость.
 
  ID> Туго я что-то себе это представляю.
 
  нам, людям котоыре в основном используют python, это было представить
  легко.  Что такое нормальные traceback, мне давно известно, и как этим
  пользоваться я знаю.  И честно говоря, я сильно сочувствую людям, которые
  расколупывают корки с помощью gdb, или вообще пошагово ходять в
  отладчиках, в поисках "а где тут у нас неправильно чего делается".
  
  Я просто в нужных местах или делаю отладочную печать, или генерю
  исключение.  Заворачивание критических секции кода в try-except вообще
  стандартная практика, и тогда исключение генерит сама програма, в случае
  "выхода за критические рамки".  Результат - traceback, в котром виден стек
  исполнения, что откуда вызывалось, с какими значениями и так далее.
  
  В динамическом python, есть стандартные модули для работы даже с
  traceback, и на этапе выполнения можно самому перхватывать исключния, и
  делать какие-либо выводы.
  
  В "статическом" Eiffel исключение означает что "программер что-то не
  учел". 
 -- 
    Bor.
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: pascal   Ilya Dikarev   22 May 2003 23:14:57 
 Re: pascal   Vladimir Bormotov   23 May 2003 13:08:22 
 Re: pascal   Aleksey Cheusov   23 May 2003 14:59:22 
Архивное /ru.linux/254105b810d4.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional