Тема: Сайт групп факультета ИТ МИРЭА :: Человек и Smalltalk

Прислано Mentor 25.03.2011 00:08
#14

Добрый день. Не берусь, правда, ответить сразу на все, вас-то побольше будет, но….

Должен сказать, что Ваша скептическая реакция предсказуема и стандартна. Если мы сейчас начнем действовать по принципу аргумент-контраргумент, то у нас получиться почти тот же самый диалог, что и у множества других людей до нас, чего мне хотелось бы избежать, ибо песня это старая – проще заглянуть в другие форумы, например,
http://community...._smalltalk
http://www.rsdn.r...82125.aspx
http://rucoders.r...
и др. - поищите сами.

Если кратко обобщить сказанное до меня, то получится примерно следующее.

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

- Любое нововведение сталкивается с инерцией мышления масс и живет по формуле
«1. Это никому не нужно! 2. Похоже, в этом что-то есть. 3. Ну это же давно известно!».

- Люди, которые разрабатывают приложения не для железа, а для человека, познакомившись со Смолтоком, остаются ему верны. Так произошло со многими сегодняшними «смолтокерами», и со мной в том числе – раньше я увлекался Delphi.

- Естественно, Смолток не панацея! Я не предлагаю его вам как универсальное средство решения всех задач, с которыми вы можете столкнуться. Я не предлагаю разрабатывать на нем ОС, драйвера, писать flash-программы (для этого есть специальные инструменты), но во многом остальном – это эффективный инструмент потому, что позволяет перенести фокус внимания разработчика с отвлекающих технических деталей (таких как ручное управление памятью) на моделирование предметной области, на описание логики работы приложения. За счет этого получается выигрыш в скорости и надежности разработки, экономятся людские ресурсы. Появившись, Смолток опередил свое время. Да, компьютеры 80-х не могли предоставить для него необходимых ресурсов, но сейчас другое время, сейчас необходимо быстро реагировать не изменения в мире, быстро создавать и модернизировать приложения.

- Сегодня для приличного программиста знать 1 язык программирования мало. Тут можно провести такую аналогию: предусмотрительные люди уже учат убойное сочетание иностранных языков – английский и китайский, ибо ожидается, что в ближайшее время носители этих языков будут доминировать в мире; так же и с программированием – если не затрагивать специфические области, то сочетание С-Smalltalk-Java тоже весьма убойное. К тому же, при необходимости, эти языки можно смешивать. Хочешь близко общаться с железом – берешь С++, хочешь больше оперировать абстракциями – берешь Smalltalk. Java тут нечто среднее между С++ и Smalltalk.

- В любом техническом ВУЗе преподается некий спектр языков программирования и моделирования. Не стоит думать, что если на прошлом курсе кто-то знакомил Вас с Delphi, то следующий преподаватель будет это продолжать. За один курс невозможно освоить любой язык программирования, но можно получить о нем основные представления, чтобы иметь возможность выбирать и двигаться дальше самостоятельно. Прочие языки моделирования, такие как AgentSpeak, среда AnyLogic, NetLogo и др, с которыми Вы можете столкнуться в нашем ВУЗе, вообще отдельная песня, но и они заимствуют идеи ООП. Задача любого ВУЗа - научить людей думать: выработать системно-концептуальное, логическое, нравственное мышление. С первым и вторым Смолток неплохо справляется.

- Да, сегодня многие «серьезные дяди» написали много приложений на C-подобных языках и Java, но не потому, эти средства лучше, а просто потому, что они им хорошо известны и рядом отсутствовали альтернативы. К сожалению, это чуть ли не доминирующий закулисный критерий выбора средства разработки. Но посмотрите на себя, сколько Вам сейчас лет? Серьезные нововведения в ИТ-сфере появляются каждый год. То, что Смолток возвращается в Россию – это факт, поэтому если Вы сейчас дадите себе труд хоть немного с ним познакомиться, то это может помочь Вам сохранить конкурентоспособность через несколько лет. К тому же, настанет такой момент, когда Вы сможете сами выбирать средство разработки, а не использовать инструмент, навязываемый работодателем.

Harrr написал:
«на серверах места нет »
и «затруднено программирование несколькими людьми одновременно.»


А Вы за это время уже успели оценить ресурсопотребление всех версий Смолтока?

Вот выдержка из http://www.hardli...1/12/1065/

«VisualAge - это мощная среда для разработки приложений для архитектуры клиент-сервер. Она ориентирована, прежде всего, на разработки бизнес-приложений, включая системы для онлайновой обработки транзакций и системы поддержки решений. VisualAge позволяет профессиональным разработчикам строить клиентские части прикладных систем со сложным графическим интерфейсом, проектировать деловую логику работы приложений с доступом к локальным и удаленным ресурсам. ….. Библиотека готовых компонент предоставляет также поддержку устройств мультимедиа, коммуникаций через протоколы APPC, TCP/IP, NetBIOS, программных интерфейсов CICS External Call Interface, EHLLAPI, Message Queue Interface (MQI), работу с реляционными базами данных семейств DB2, Oracle, Sybase и многое другое. …. отметим ряд замечательных качеств VisualAge, таких как повторное использование кода, поддержка моделей SOM и DSOM, возможности групповой разработки приложений с использованием центрального репозитория….»

Нет места на мобильных устройствах?

Вот, например, Pocket Smalltalk
http://www.pocket...ltalk.com/

А для отладки оптимизации ресурсоемких мест можно использовать профайлеры.
http://www.smallt...eedup.html

Ему находится место даже в задачах программирования PIC-микроконтроллеров
http://www.huv.co...index.html
http://www.huv.co...nload.html


Harrr написал:
«ведь мы же - будущие системные администраторы»

Если вы думаете о себе только как об администраторах – пойдите на курсы администрирования Windows и Linux, получите сертификат, и больше не о чем не думайте. Если повезет, то у Вас будет сеть компов на 50, бессонные ночи, отсутствие выходных, но зато зарплата 50к. Зачем Вам диплом?

Harrr написал:
«Все это сделано целиком и полностью в свободном ПО»

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

Harrr написал:
«Вакансии Smalltalk-программистов пусть и существуют, но их в любом случае куда меньше, чем программистов на C++»

Камней больше, чем алмазов. Вы хотите стать еще одним камнем? Вы думаете С++ программистов меньше, чем вакансий для них? Их сейчас также много, как экономистов! Но из С-программистов очень трудно выбрать подходящего. Знание Смолток только плюс.

Olorin написал:
А как быть людям, которые в силу различных причин не изучали английский язык на уровне, достаточном для свободного чтения англоязычной литературы?


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

Olorin написал:
«Но лично я, например, должен иметь какой-то источник информации помимо лекций, чтобы понимать предмет. Живой пример: на первой же лабораторной столкнулся с проблемой создания массива из N элементов»

Информации море. А Ваша проблема с массивом говорит лишь о том, что Вы невнимательно читали раздел про массивы в методичке.

SGL900 написал:
«Программируют ради удовольствия (или денег).»

В мире проводились такие эксперименты – брали 2х профессиональных программистов – одного на С++, другого на Смолток. Ставили перед ними одинаково незнакомую задачу и отводили время на ее решение. Смолтокер выигрывал. Почему? Меньше кода и ошибок на единицу функционала – он описывал решение задачи, а не управлял памятью.
Удовольствие от Смолтока больше, когда начинаешь понимать, что теперь не нужно делать того, что не относится к решению задачи.
Денег от Смолтока может быть больше, поскольку за одно и тоже время вы решите больше задач.

SGL900 написал:
«вы говорили, что на Smalltalk пишется большинство офисных приложений»,

Я говорил, что он наиболее подходит для этого класса приложений, а также систем моделирования, систем проектирования, систем поддержки принятия решений.

SGL900 написал:
«что в серьезные разработчики со знанием Smalltalk путь закрыт»

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

Harr написал:
«А еще в Smalltalk нельзя толком работать с более-менее сложной графикой, в т.ч. трехмерной»

Вы не совсем правы, в Dolphin, VisualWorks, Squeak есть серьезные графические библиотеки.
Успехи в применении графики подтверждаются также разработкой авиационного тренажера (проект Бориса Беркгаута) http://www.comput...ru/309147/ (там про него немного, но статья интересная)

P.S. Кто хочет чего-то добиться - ищет возможности, кто не хочет - причины.

С уважением, С.С.

Редактировал Mentor 27.03.2011 09:50