Re[18]: Почему нельзя преподавать C#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.04.05 06:50
Оценка: :))
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


E>>А я и так это знаю. Поэтому Debug режимом не пользуюсь (практически)

E>>Компилюсь сразу в Release. Отлаживаюсь либо по unit-тестам, либо анализирую логи.

VD>Ужас какой.


Ну почему же ужас? К этому быстро привыкаешь

E>>Debug обычно использую, только если не удается быстро локализовать место возникновения Access violation по отладочным печатям. Да и то, нужно сказать, что часто обнаруживается только последствия. А вот причину приходится логическим путем обнаруживать совсем в другом месте.


VD>А я вот использую языки которые не дают таких проблем в релизе.


Хорошо тебе.

E>>А уж когда я в последний раз в отладчике пошаговую отладку использовал сейчас уже и не вспомню.


VD>Хорошо тебе.


Да, есть такое дело
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[16]: Почему нельзя преподавать C#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.04.05 06:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


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


VD>Практика показыает, что нарвешся в любом случае. Может реже, но все же.


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

А креш-дам, имхо, содержит только снимок программы на момент падения. Но не показывает, как программа дошла в такое состояние, а это важнее.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[24]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 05.04.05 08:24
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Снимаем чайник с плиты, выливаем из него воду и сводим задачу к уже решенной.


если это упростит задачу и не приведет к большим потерям — да, именно так
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[25]: Почему нельзя преподавать C#
От: Трурль  
Дата: 05.04.05 08:28
Оценка:
Здравствуйте, Дарней, Вы писали:

Т>>Снимаем чайник с плиты, выливаем из него воду и сводим задачу к уже решенной.


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


Но в данном случае ни капельки не упрощает.
Re[26]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 05.04.05 09:32
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Но в данном случае ни капельки не упрощает.


правда?
если говорить про объем кода — может быть. но я говорю не про объем
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[27]: Почему нельзя преподавать C#
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.04.05 09:56
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Трурль, Вы писали:


Т>>Но в данном случае ни капельки не упрощает.


Д>правда?

Д>если говорить про объем кода — может быть. но я говорю не про объем

А про что интересно?
то, что нужно будет цифры переводить туда-сюда (сначала число в строку, потом каждую цифру в числовое представление)- это понятней чем то, что цифра — это разряд в 10-чной системе?

Мсьё любитель изысканных извращений?

Я понимаю, что стандартные библиотеки вещь очень необходимая, полезная и т.п., но стоит ли пытаться забивать гвозди видеомагнитофоном?
Re[28]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 05.04.05 10:23
Оценка:
Здравствуйте, Курилка, Вы писали:

К>то, что нужно будет цифры переводить туда-сюда (сначала число в строку, потом каждую цифру в числовое представление)- это понятней чем то, что цифра — это разряд в 10-чной системе?


Нужно еще понять, как этот разряд извлечь из двоичного числа. Я например наблюдал одного старшекурсника (ныне он уже аспирант), который до этого допереть не смог

К>Мсьё любитель изысканных извращений?


конечно!

К>Я понимаю, что стандартные библиотеки вещь очень необходимая, полезная и т.п., но стоит ли пытаться забивать гвозди видеомагнитофоном?


Шуруп вбитый молотком держится крепче, чем гвозь вкрученный отверткой
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[29]: Почему нельзя преподавать C#
От: Трурль  
Дата: 05.04.05 10:33
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Нужно еще понять, как этот разряд извлечь из двоичного числа.


А число, оно не двоичное, оно просто число.
Re[29]: Почему нельзя преподавать C#
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.04.05 10:34
Оценка: :)
Здравствуйте, Дарней, Вы писали:

Д>Шуруп вбитый молотком держится крепче, чем гвозь вкрученный отверткой


Вот и встаёт вопрос — а на кой вопрос нам отвёрткой гвозди вкручивать?
Re[30]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 05.04.05 11:11
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>А число, оно не двоичное, оно просто число.


"просто числа" бывают у математиков. А у нас "просто чисел" не бывает.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[17]: Почему нельзя преподавать C#
От: GlebZ Россия  
Дата: 05.04.05 11:33
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>Моя практика показывает, что лучше бывает собрать тестовый стенд на которых падение программы будет повторяться стабильно. После чего на этом стенде ошибка локализуется всеми доступными средствами. Такой подход позволяет не только падения отлавливать, но и утечки ресурсов, а также причины тормозов (которые могут возникать по самым разным причинам).

Моя практика показывает что иногда и стенда такого не сделаешь И для решения подобных вещей используется эвристический подход.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[18]: Почему нельзя преподавать C#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.04.05 11:39
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, eao197, Вы писали:


E>>Моя практика показывает, что лучше бывает собрать тестовый стенд на которых падение программы будет повторяться стабильно. После чего на этом стенде ошибка локализуется всеми доступными средствами. Такой подход позволяет не только падения отлавливать, но и утечки ресурсов, а также причины тормозов (которые могут возникать по самым разным причинам).

GZ>Моя практика показывает что иногда и стенда такого не сделаешь И для решения подобных вещей используется эвристический подход.

Да, такое бывает.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[17]: Почему нельзя преподавать C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.05 14:39
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Моя практика показывает, что лучше бывает собрать тестовый стенд на которых падение программы будет повторяться стабильно. После чего на этом стенде ошибка локализуется всеми доступными средствами. Такой подход позволяет не только падения отлавливать, но и утечки ресурсов, а также причины тормозов (которые могут возникать по самым разным причинам).


E>А креш-дам, имхо, содержит только снимок программы на момент падения. Но не показывает, как программа дошла в такое состояние, а это важнее.


А моя практика показывает, что лучше пользоваться средствами не допускющими подобных проблем. Типобезопасный код + надежные библиотеки (опять же типобезопастные) рулять адназначна. (с) Жирик.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Почему нельзя преподавать C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.05 14:39
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

Понимаеш ли. У мастерства тоже есть разные стадии. Знающий ассемблер, разбирающийся с дампами, уситчивый и довольно опытный прграммист конечно напоровшись на трудно уловимую ошибку попытается найти ошибку даже на основании дампа. Но не факт что у него получится. Ну, да это не важно.

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

В общем, последняя стратегия мне наравится куда больше.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Почему нельзя преподавать C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.05 14:39
Оценка:
Здравствуйте, Дарней, Вы писали:

Т>>Снимаем чайник с плиты, выливаем из него воду и сводим задачу к уже решенной.


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


Думаю, что основная задача олимпиады не решить задачу наиболее простым методом, а заставить людей поднять свой уровень программирования. И тут такие ламерские решения просто вредны. Ведь олимпиада — это подготовка к ней! А значит обучение думать.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Почему нельзя преподавать C#
От: Gaperton http://gaperton.livejournal.com
Дата: 05.04.05 15:39
Оценка:
Здравствуйте, Дарней, Вы писали:
G>>Плотность дефектов в предрелизной бете в гражданском софте обыкновенно составляет не менее 5 штук на одну тыщу строк.

Д>Очень интересно. Эта цифра для софта какого объема, какого назначения, на каком языке, с какими библиотеками?

У нас так выходило для комплекса серверов, обслуживающего заявки на электронную биржевую торговлю. Язык — С++, в этой подветке речь идет только о С++. Насколько я знаю, эта статистика укладывается в индустриальные средние.

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

По данным исследований, наиболее стабильные метрики построены на строках кода. За деталями о метриках — добро пожаловать на сайт Карнеги-Меллонского университета.

Д>А мерять код строками — все равно что на кофейной гуще гадать.

Ерунда. Так обычно говорят люди, которые вообще не меряют код ни строками, ни чем другим. Признайся, ты хоть раз считал плотность дефектов для своих проектов?

G>>Часть из ник приводят к крешу. Это после очень хорошего тестирования, с плотным покрытием юнит тестами, и от языка зависит не сильно.


Д>Интересная теория. Даже если этот язык — JavaScript?

http://www.rsdn.ru/Forum/Message.aspx?mid=984393&amp;only=1
Автор: Gaperton
Дата: 12.01.05
Re[16]: Почему нельзя преподавать C#
От: Gaperton http://gaperton.livejournal.com
Дата: 05.04.05 18:40
Оценка: 6 (1)
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, Gaperton, Вы писали:


G>>Умные все стали, сил нет. Плотность дефектов в предрелизной бете в гражданском софте обыкновенно составляет не менее 5 штук на одну тыщу строк. Часть из ник приводят к крешу. Это после очень хорошего тестирования, с плотным покрытием юнит тестами, и от языка зависит не сильно. Давай, пиши чтоб не падало.

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

GZ>Кто делал подобные исследования?

Carnegie-Mellon SEI. В рамках работ по PSP/TSP и софтверным метрикам. Также, любая компания, которая применяет софтверные метрики, как например, CQG или Ericsson, имеют возможность регулярно убеждаться в правильности статистики Carnegie-Mellon.

GZ>Что значит очень хорошее тестирование?

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

GZ>С уважением, Gleb.

GZ>PS: в цифры "после очень хорошего тестирования, с плотным покрытием юнит тестами" не верю
Можешь проверить сам по своим проектам.
Re[26]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 06.04.05 04:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Думаю, что основная задача олимпиады не решить задачу наиболее простым методом, а заставить людей поднять свой уровень программирования. И тут такие ламерские решения просто вредны. Ведь олимпиада — это подготовка к ней! А значит обучение думать.


Один из аспектов "умения думать" — это нежелание делать ту работу, которую можно не делать.
Задача олимпиады — может быть, и такая. А задача участника олимпиады — решить максимальное количество задач за ограниченное время. Так что сэкономив 15 минут на написании и отладке кода, их можно применить для решения другой задачи.
Добиваться своей цели могут и вот так, например:
http://gzip.rsdn.ru/Forum/Message.aspx?mid=682603&amp;only=1
Автор: Sinclair
Дата: 17.06.04

Не могу сказать, что мне нравятся такие фокусы — но нестандартность мышления конечно имеет место быть
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[17]: Почему нельзя преподавать C#
От: Дарней Россия  
Дата: 06.04.05 05:11
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>По данным исследований, наиболее стабильные метрики построены на строках кода.


Например, вот эти? :lol:
http://www.sei.cmu.edu/pacc/icse98/papers/p2.html

Traditional metrics, such as Lines of Code (LOC), is no longer valid or useful. Metrics based on interfaces, member functions and their complexity should be used.


G>Ерунда. Так обычно говорят люди, которые вообще не меряют код ни строками, ни чем другим. Признайся, ты хоть раз считал плотность дефектов для своих проектов?


И правда — не считал. Масштабы фирмы не те, к сожалению.

G>>>Часть из ник приводят к крешу.

G>http://www.rsdn.ru/Forum/Message.aspx?mid=984393&amp;only=1
Автор: Gaperton
Дата: 12.01.05


Я все-таки не понял — значит, JavaScript тоже может приводить к GPF? Правда. в твоем посте про это почему-то ничего не написано.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[23]: Почему нельзя преподавать C#
От: ansi  
Дата: 06.04.05 10:41
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Не вижу преимущества в itoa.

Д>преимущество — в том, что этот код уже написан и отлажен. Просуммировать цифры в строке — это намного проще, и экономит время — а его на олимпиадах как раз и не хватает.
Мне почему-то не сильно сэкономило.

Д>Я уж не говорю о том, что во многих серьезных фирмах за написание самопального алгоритма перевода тебе бы надавали по рукам

Здесь нет задачи перевода число <-> строка. Есть задача просуммировать цифры числа.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Iscaaro — Fold Your Hands And Pray";
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.