Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

C+Sharp+and+.NET [CSharp & .NET] 2001.09.07


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

C Sharp and Dot NET

Содержание

  • 1. Интересные ссылки
  • 2. Письма
    • 2.1. О чем рассылка
    • 2.2. Злобные комментарии
    • 2.3. eXtreme Programming
    • 2.4. Противоположное мнение
    • 2.5. О Java

1. Интересные ссылки

Microsoft Visual Studio.NET как средство для создания Web-приложений
http://relib.com/articles/article.asp?id=138
В статье описывается часть IDE от Visual Studio 7.
Кроме того, в MSDN есть полезное описание Exceptions и Garbage Collection (часть 1, часть 2).

[к содержанию]

2. Письма

Присылайте ваши письма на адрес level3@mail.ru.
Ниже я привожу все присланные письма с незначительными поправками. Одно письмо было отклонено из-за использования нелитературного языка, неаргументированности и отсутствия полезной информации.

2.1. О чем рассылка

-----Original Message-----
From: 1C
Sent: Tuesday, September 04, 2001 10:10 PM
To: level3@mail.ru
Subject: Программирование в коммандах

Hello level3,

Во первых, я так и непонял конкретно, что такое C# и с чем его едят.
Во вторых, читая рассылку, все дальше залажу в дебри... (О чем речь вообще).
В третьих, уже четыре года пишу на делфи (Linux,Windows,C,C++,Delphi сертификаты на BrainBench) и не только и до сих пор потребностей в "Мусорках" не ощущал. (Но что это такое все таки хотел бы узнать).
В четвертых, какие платформы уже охвачены С#, какие планируются...

[SergeyR: рассылка создана для обмена опытом. Кто хочет - пишите ответы]

[к содержанию]

2.2. Злобные комментарии

-----Original Message-----
From: Andrei Prygounkov
Sent: Thursday, September 06, 2001 10:31 AM
To: level3@mail.ru
Subject: Программирование в командах

Здравствуйте.

1. Я вот решил подписаться на рассылку по C#
И прочитал Вашу статью (программирование в командах).

2. У меня предложение по Вашему проекту.
Пусть одна команда пишет на .NET, а другая на J2EE. По-моему будет интересней.

А неравные условия - это разве проблема ? Я думаю, если предложить студентам самостоятельно выбрать группу, то условия станут равными. Конечно, если окажется, что все выбрали одну и ту же группу, то придется оставить одну платформу.

3. Небольшие комментарии (злобные).

> Почему не Java? Потому что пока ее поддержка
> инструментальными средствами оставляет желать лучшего.
> Почему не Delphi? Я не знаю, есть ли в ней
> автоматическая сборка мусора (в последней версии,
> с которой я работал, пятой - не было).
> Это очень важно, т.к. сильно упрощает программирование.

Исходя из данного абзаца я делаю вывод что Вы сами не программист. Вам бы следовало посоветоваться с программистами, прежде чем начинать мучать студентов.

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

За какой год у Вас сведения ? Ни один язык программирования не имеет такой мощной поддержки инструментальными средствами как Java.

Напротив, время от времени в fido7.ru.java появляются утверждения, что Java - это только среда для программистов, а не для пользователей. Софта для разработчиков полным полно. Сред разработки десятки. Вот хотя бы самые популярные: Borland JBuilder, IMB Visual Age, Oracle JDeveloper, Sun Forte, IntelliJ IDEA.

А что касается Delphi, то там в принципе не может быть сборки мусора. Это как добавить сборку мусора к C++ - на выходе получаем новый язык, под названием С#.

4. Кстати, про пластилин и глину. Я вспомнил один фрагмент из спора программистов о том что лучше, Java или C++. Поклонник C++ сравнил C++ с острым ножом, а Java - с тупым. И сказал, что ему удобнее работать острым. На что мой товарищ возразил, что острый нож это конечно здорово, но при работе с ним нужно постоянно быть очень внимательным, чтобы не порезаться. А это утомляет и делает программиста раздражительным, ну и так далее. А вот с Java он чувствует себя спокойно :)

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

Что касается меня, то клиентские приложения с GUI я пишу на Delphi, а серверные (web) компоненты - на Java. И я не представляю для каких случаев мне может понадобиться C++. Ну а .NET - это как известно та же Java c J2EE, споры же по поводу того, что лучше в самом разгаре. Вот поэтому мне и было бы интересно посмотреть как в реальной жизни две команды работают над одним проектом, но разными инструментами. Результат Вы могли бы опубликовать для широкой общественности. Я уверен, это было бы интересно многим.
Желаю Вам успехов, продолжайте нас информировать о ходе работ.

С лучшими пожеланиями,
Андрей Прыгунков.

[SergeyR: Или обе Java или обе .NET, иначе не получится равных условий. Я считаю, что маленькие и обучающие проекты должны делаться на C#, крупные и критические - на Java. Что касается Delphi, я тоже думал, что в VB и C++ сборки мусора быть не может, оказывается добавлением расширений - может. Чем Delphi хуже?]

[к содержанию]

2.3. eXtreme Programming

-----Original Message-----
From: Kuzin Andrey [mailto:dron@mjk.msk.ru]
Sent: Tuesday, September 04, 2001 9:15 AM
To: Sergey Radkevich
Subject: Re: C# step 1

Я бы лично предложил к эксперименту над народом другой подход. Описанная вами "модель" скорее всего относится к старому методу разработки программ. Если какое-либо звено откажет, например, "организатор" заболеет, то нарушится весь процесс разработки.

Я недавно для себя обнаружил новый подход к разработке программ названный "экстремальное программирование" (XP). С ним можно познакомиться на www.eXtremeProgramming.org и www.XProgramming.com Я думаю это интересный подход и скорее всего действительно более действенный чем предложенный вариант.

Было бы интересно наблюдать за тем, как одна команда использует один метод, а другая другой. И затем выяснить для себя какой подход действительно лучше. А в России мне кажется еще экстремальное программирование мало где применяется, если вообще применяется... Могу привести десятки примеров, когда мои друзья срывали проект своим неработающим кодом, а в XP это исключено изначально...

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

Еще есть русская статья для быстрого ознакомления

Я тоже хочу как-нибудь в разделе "теория" описать этот подход, но было бы лучше если он был подкреплен реальными достигнутыми результатами...

Но у меня есть свое мнение...

Сам я еще студент, хотя уже 5 курса %)))

У меня насчет XP такие соображения.
Я лично думаю, что "двое за одним компьютером" это круто... Объясню почему. Для начала начнем с того, что вспомните свои "стедунческие годы", как я понимаю вы уже давно не студент. Почему на всяких лабораторных работах всегда минимум два человека работали ?! Теперь подумайте как бы Вы один делали лабораторную, она бы туго давалась (это я по опыту могу сказать 100 процентов)... Да возможно это трата денег на двух программистов. НО они делают все быстрее если не в два, то уж в полтора раза быстрее. Почему ?! Потому что все равно они пишут каждый грубо говоря по одной строке из двух. Только эти две строки обдуманы не одним, а двумя людьми и значит на вероятность ошибки в этих двух строках уменьшается на 50% (или может больше, надо еще теорию вероятности вспоминать %) А это значит вы получаете заведомо хороший код без глюков. Это сегодня намного важнее чем что-либо другое. Представьте две фирмы, пусть (гипотетически) фирма, которая делает обычным методом. сделала программу за 1 месяц. Пусть тоже гипотетически фирма XP сделала работу чуть дольше 1.5 месяцев (хотя я думаю она сделает это быстрее). Теперь подумайте сколько фирма 1 будет исправлять ошибки, а сколько фирма 2. Фирма 2 изначально не делала ошибок, а поэтому их будет в десятки раз меньше.

Ну другой пример "двухголовости". В какой-то рассылке тут обсуждали тему девушек-программистов, что якобы они ничерта не умеют этим заниматься. В итоге разговора пришли к тому, что чтобы быть программистом надо "жить в алгоритмах", грубо говоря ехать в автобусе и думать о программе, спать и видеть сны об интерфейсе и т.д. Женщина же не может себе позволить постоянно думать только о программе, потому что она думает больше о своей красоте, некормленных детях и небритом программере-муже %))) Вобщем смысл в том, что мужики "живут" в этом и постоянно варятся... Теперь прикиньте, что об одной и той же функции думает сразу два человека... Наверняка одному из них приснится "вещий" сон, а другой после того как прослушает этот сон найдет десяток улучшений и модернизаций... Разве это плохо ?!

Потом действительно "вдруг кирпич упадет", а другой напарник будет знать как работает программа. Или вдруг баг найдется... Его быстрее будет найти. Представьте себе программиста-одиночку который ищет неработающий указатель в программе из 10000 строк (я блин иногда в своих 500 не разбираюсь, вот глючит и все тут %))) И какую тут может оказать ваша "любимая" сборка мусора ?! Никакое средство разработки и ни один язык, каким бы они хорошими не были никогда не заменят смышленной головы напарника...

Затем примеры из жизни. Мы вроде как студенты и пока реальных творений по пальцам перечесть, и вот представьте приходит такой "недоучка" в контору, где ему (пусть не сразу), но дают 1-5% проекта на реализацию. Практики никакой, где можно совершить ошибку тоже незнает, подводные камни это вообще ужас, а "карты" программерской вселенной нет. Ну и что ?! А представьте рядом сидит (пусть и не гений), но человек проработавший на этой фирме некоторое время. Он знает пусть туманно, но хоть что нужно для проекта. Так "студент-недоучка" подтянется за меньшее количество времени и будет полноправным членом команды.

У меня есть друг, которого как не спросишь "как дела на работе ?!" А он "да вот блин опять мой код в проект вставили, а он не работает"...

Ну вобщем-то это все касается только "двухголовости". В XР есть еще некоторые плюсы. Это итерации. Вы кстати тоже про них указывали, и сначала у меня появилась мысль о том, что это ХР, но потом я понял, что это нечто другое... Ну вобщем плюс этого момента я думаю объяснять не надо... Мы в данное время работаем только над тем, что нам сейчас надо. К примеру зачем думать об окошках (которые ты будешь рисовать завтра) если тебе сечас надо реализовать считывание из файла строки. А ведь именно так получается, когда программист мыслит глобально. Он пытается охватить весь проект и даже не знает с чего начать. Он думает что интерфейс, который он покажет заказчику намного важнее, и поэтому старается написать работу с файлом быстрее, чтобы посвятить больше времени на интерфейс, а потом оказывается, что интерфейс "это ничто", когда не работает открытие файла %))) (ну это я все к примеру).

В этом и заключается плюс итеративности. Второй (или уже третий) плюс в том, что в ХР для каждой итерации существует набор тестов, без которого нельзя сказать что итерация закончена. Это значит, что если нам надо нарисовать окно, то мы доводим этот процесс до такого состояния, что никакое переключение режима монитора или неумелые обращения с мышкой не превратят это в груду пикселов, и при этом мы забываем о чтении из файла :) Кроме того, когда все части работают как надо, то встраивание новой части(заведомо работающей) ничего не нарушит... Представьте, что завуч завтра захочет сделать кнопку распечатки расписания, а вы этого даже и не закладывали... Вам надо менять все от окошка до алгоритмов работы, а вы еще на успели написать программу полностью и проверить ее функциональность. В ХР этого не боятся... Это самое главное... Они готовы переписывать хоть пол системы чтобы внедрить новое свойство... Причем если программа (а скорее всего ее части) работала до этого нормально, то и после внедрения нового ничего не поменяется...

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

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

Этот метод нельзя игнорировать, над ним стоит очень основательно подумать...

[SergeyR: Подход включает в себя многие черты, общие для всех современных подходов. Существенными отличиями, (отрицательными на мой взгляд), являются "программирование парами" и отсутствие разделения работы по участкам - "общий код".]

[к содержанию]

2.4. Противоположное мнение

Shkol From ICQ

[двое на одну работу] - полный идиотизм я думаю, что ни одна серьезная фирма такой херней заниматься не станет ))) это ж все равно, что двух инженеров за один кульман поставить )) а все остальное - уже реализовано... в той же самой майкрософт или борланд ))) ты знаешь, не могу понять, что тут нового? что позволило выделить это в отдельный сайт и дать этому процессу отдельное название )))

[к содержанию]

2.5. О Java

-----Original Message-----
From: Alexander Slesarenko
Sent: Friday, September 07, 2001 12:27 PM
To: level3@mail.ru
Subject: Программирование в командах

Доброго времени суток.

Замечательная идея!

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

Кстати, опыт использования Java студентами успешно провалился именно из-за отсутствия нормальной среды разработки и справки.

Желаю удачи.
С уважением, Слесаренко Александр

PS: Буду ждать результатов эксперимента

[SergeyR: Интересное письмо. Небольшой комментарий - по Java есть документация на сайте sun, а про среды разработки Андрей уже писал выше.]

[к содержанию]


Хотите высказать свои мысли - пишите на адрес level3@mail.ru

С уважением и наилучшими пожеланиями,
Сергей Радкевич.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное