Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  19:43[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 1086—1077 | 1076—1067 | 1066—1057 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 519


№ 1076   25-11-2006 15:22 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1073« (гость)
___________________________

ИМХО, редактор влияет (иногда сильно) на удобство кодирования, но не надежность программы.
Один редактор (в широком смысле этого слова - IDE в целом) покажет и неиспользуемые переменные, и недоступный код, и сам подскажет методы. (Builder, Delphi, VS).

Другой (1С к примеру) - только грубые синтаксические ошибки (специфика такая).

В каком случае вероятность ошибок программиста ниже, а надёжность выше?


"С этого момента подробнее, пожалуйста" (c). :)
IDE -- всего-лишь GUI-вая "нашлепка" над системой программирования.
Перечисленными Вами возможностями "умный" редактор обязан в основном компилятору и отчасти базе данных проекта (подсказка методов).
Базы данных проекта (например, pdb-файлы) хранят кучу информации о предварительно компилированных компонентах проекта. (Т.е. опять-таки основываются на компиляторе.)

В принципе, подсказка (автодополнение?) методов влияет не на надежность, а исключительно на удобство кодирования.
Слишком уж много методов приходится держать в голове.
Что, ИМХО, говорит о некоторой бессистемности и раздутости библиотек классов и лежащего под ними API в целом.
Но пока опустим этот (возможно, спорный) момент.

Главное, приходим к выводу, что все факторы, влияющие, по Вашему мнению, на надежность, основываются исключительно на возможностях системы программирования (прежде всего -- компилятора).
Надежность же компилятора напрямую зависит от надежности языка, от того, как он был спроектирован.
И если сравнивать надежность, к слову, Оберона и Си, то для меня это не является вопросом, интересным для обсуждения. (У меня все-таки 20-летний стаж в программировании преимущественно на Си/Си++, смею надеяться, что здесь я знаю, о чем говорю. :) )

Меня скорее интересует Ваша точка зрения о чудесных (на мой взгляд -- мифических) возможностях IDE в деле обеспечения надежности.
Вот Вам простой вопрос ("на засыпку" :) ): почему практически в любой IDE для Си/Си++ есть пункт меню "Перестроить все" (Rebuild all)?
Почему недостаточно простого пункта "Собрать проект" (Build/Make)?
 AVC


№ 1075   25-11-2006 09:03 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1074« (гость)
___________________________

Ответ на »сообщение 1073« (гость)
___________________________
Заметьте: когда возникли и начали распространяться си, очевидно покупатели тоже считали, что этих возможностей им - выше крыши.
А через девять лет оказалось, что далеко не выше - и надо всякого ещё.

Си появился, как язык системного программирования. Для этих целей он и сейчас хоть куда.
А когда ребята, решившие заниматься прикладным программированием (да еще и таким сложным, как моделирование) стали делать для себя язык, они зачем то взяли в качестве основы Си - совсем на прикладное программирование не расчитанный. И начала развиваться смесь бульдога с носорогом.
С++ в результате язык "универсальный" - системно-прикладной. "Наполовину болонка, наполовину эрдель, причем обе половины худшие"(с)
Кстати механизмы для моделирования они так и не сумели в своем языке внятно реализовать, видимо просто до конца не поняли.


№ 1074   25-11-2006 04:22 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1073« (гость)
___________________________
Заметьте: когда возникли и начали распространяться си, очевидно покупатели тоже считали, что этих возможностей им - выше крыши.
А через девять лет оказалось, что далеко не выше - и надо всякого ещё.


№ 1073   25-11-2006 04:19 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1070« (AVC)
___________________________
ИМХО, редактор влияет (иногда сильно) на удобство кодирования, но не надежность программы.
Один редактор (в широком смысле этого слова - IDE в целом) покажет и неиспользуемые переменные, и недоступный код, и сам подскажет методы. (Builder, Delphi, VS).

Другой (1С к примеру) - только грубые синтаксические ошибки (специфика такая).

В каком случае вероятность ошибок программиста ниже, а надёжность выше?

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

Если сравнить объёмы разработок на C/C++ и Обероне за их историю: вы действительно так сильно уверены, что у Оберона не появилось бы столько же всевозможных надстроек, если бы он использовался столь же активно в таких же масштабных и разнообразных проектах?


№ 1072   25-11-2006 04:13 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1071« (Андрей Хохлов)
___________________________
Два реальных примера, когда компилятор [Java] ничем не может помочь:
Отличные примеры! Если программист сам не знает, чего хочет, то никакой язык его не спасёт.

А ещё можно в Delphi вместо
Label1.Caption := s;
присвоить
Labe1.Name := s;
- и тоже с синтаксисом всё в порядке.

А в Обероне вместо переменной i2 можно написать i3 - и тоже не будет ошибки.

Или вы предлагаете делать по отдельному типу для каждой переменной?

Если программист захочет написать неправильно - он это сделает, преодолев все преграды.


№ 1071   24-11-2006 07:18 Ответить на это сообщение Ответить на это сообщение с цитированием
По поводу устойчивости к опискам и опечаткам. Два реальных примера, когда компилятор [Java] ничем не может помочь:


//if (blk.equals("CTLS"))
  if (blk.getName().equals("CTLS"))



  StringBuffer text = new StringBuffer();
  ...
//text.append(cmds.get(i));  //cmds - экземпляр Vector<Command>
  text.append(cmds.get(i).text);


Это результат перегрузки ф-ий, если отвлечься от нее, никто не мешает перепутать порядок следования однотипных аргументов следующей процедуры


  PROCEDURE P(X,Y: INTEGER);



№ 1070   24-11-2006 04:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1069« (torvic)
___________________________


Роль редактора в обеспечении надежности мне вообще неясна.
...
Прежде всего выяснить, из чего складывается надежность, затем "взвесить" составляющие.

речь ведь шла, насколько я понял, не только о редакторе а о среде программирования в целом
скажем этот уже не раз упоминавшийся пример Свердлова с коллизией имён классов и неймспейсов в С# не пройдёт мимо FxCop'a


Редактор упоминался.
ИМХО, редактор влияет (иногда сильно) на удобство кодирования, но не надежность программы.

Что касается среды программирования, то существуют как минимум два подхода.
Первый -- взять за основу простой, надежный, хорошо спроектированный язык программирования.
Второй -- пытаться компенсировать недостатки языка с помощью многочисленных вспомогательных средств.
У меня возникает такая ассоциация: язык Си (особенно в его раннем состоянии) и верификатор lint.
С такими языками, действительно, шагу нельзя ступить без среды.
И все равно что-нибудь да случится.
 AVC


№ 1069   24-11-2006 04:29 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1068« (AVC)
___________________________

Роль редактора в обеспечении надежности мне вообще неясна.
...
Прежде всего выяснить, из чего складывается надежность, затем "взвесить" составляющие.

речь ведь шла, насколько я понял, не только о редакторе а о среде программирования в целом
скажем этот уже не раз упоминавшийся пример Свердлова с коллизией имён классов и неймспейсов в С# не пройдёт мимо FxCop'a


№ 1068   24-11-2006 04:12 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1066« (гость)
___________________________


Я к тому, что "надёжность" средства разработки определяется. образно говоря, на 60% программистом (внимательность, знание инструмента), на 30 - средой (редактором), ну и на 10 - языком. (Цифры, разумеется, образные).


Это действительно интересный вопрос (от чего зависит надежность), хотелось бы немного "помусолить" его. :)
Для начала неплохо бы уточнить, что такое надежность.
Дать хоть какое-то рабочее определение.
Среди оберонщиков распространена точка зрения, что надежность -- это "инварианты, принятые всерьез".
Прежде всего -- инварианты памяти.
Речь идет о безопасности типов (с памятью можно обращаться только в соответствии с типом занимающей ее переменной) и предотвращении ошибок при работе с указателями (сборке мусора).
Мне кажется, что роль языка здесь превышает 10% (и даже 20%, названных Ильей Ермаковым).
Роль редактора в обеспечении надежности мне вообще неясна.

Все это пока ИМХО.
Как бы то ни было, вопрос о надежности интересный, хорошо бы его рассмотреть повнимательнее.
Прежде всего выяснить, из чего складывается надежность, затем "взвесить" составляющие.
 AVC


№ 1067   24-11-2006 02:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1066« (гость)
___________________________
По поводу влияния языка на надежность...
Да, все верно - 60% надежности - это человек. И только 10% предотвращает компилятор языка (я думаю, что в количественном отношении не 10%, а побольше, может быть, даже 20%, приходящихся на глупые описки). Но ведь мы ведем речь не просто о роли компилятора языка в поиске ошибок, а о влиянии языка на мышление.
Вель тут своеобразный цикл получается, самоиндукция - язык структурирует определенным образом мышление, поощряет какой-либо стиль проектирования и написания кода, дает ту систему координат, в которой решаем задачи - влияние на мышление неоспоримо. И программист с тем или иным образом заточенным мышлением берется решать задачу. И строит либо надежную и расширяемую систему, либо рухлядь... Вот вам и влияние языка на те самые 60% человеческого фактора... Изучая Оберон вкупе с конкретными примерами систем, на нем написанных, программист "всасывает с молоком" ювелирный стиль проектирования и кодирования. Изучая трухлявый, раздутый язык, человек привыкает писать точно такие же программы. Кроме того, потом он считает эту трухлявость и раздутость обязательным качеством "хорошего" языка, среды и т.п. - и ни о чем другом слышать не хочет...


<<<... | 1086—1077 | 1076—1067 | 1066—1057 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 519


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования