Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Smalltalk
Перезагрузить страницу Как выбрать программу для программирования
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
SergeySS SergeySS вне форума
Member
 
Сообщений: 121
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.01.2003
По умолчанию Как выбрать программу для программирования - 13.03.2003, 20:43

Предлагается пофилософствовать на тему: “Почему Smalltalk, как эффективное средство реализации сложных проектов, до сих пор не стал достаточно популярным в России, и какие практические действия следует предпринять сегодня, чтобы завтра ситуация изменилась к лучшему?”
Ответить с цитированием
  (#2 (permalink)) Старый
SergeySS SergeySS вне форума
Member
 
Сообщений: 121
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.01.2003
По умолчанию 14.03.2003, 13:40

Существует мнение, что во всем виноват по-прежнему низкий спрос на высокие информационные технологии....
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 23.05.2003, 03:12

Цитата:
Originally posted by SergeySS
[b]Существует мнение, что во всем виноват по-прежнему низкий спрос на высокие информационные технологии....
Может быть о нем мало кто знает?
Пеклама - сильная вещь и её нельзя не принимать во внимание...
Ответить с цитированием
  (#4 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 02.01.2004, 15:30

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

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

что касается людей оставивших смоллток, то думаю, из тех кто почувсвовал его вкус таких крайне немного. Я как-то умудрился выполнить за два дня работу (будучи почти полным новичком), которую ну просто бы не смог адекватно выполнить за пару недель (на с? на питоне?). С той поры я знаю, что мне надо и никуда не спешу.
Ответить с цитированием
  (#5 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 02.01.2004, 15:30

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

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

что касается людей оставивших смоллток, то думаю, из тех кто почувсвовал его вкус таких крайне немного. Я как-то умудрился выполнить за два дня работу (будучи почти полным новичком), которую ну просто бы не смог адекватно выполнить за пару недель (на с? на питоне?). С той поры я знаю, что мне надо и никуда не спешу.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 02.01.2004, 15:30

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

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

что касается людей оставивших смоллток, то думаю, из тех кто почувсвовал его вкус таких крайне немного. Я как-то умудрился выполнить за два дня работу (будучи почти полным новичком), которую ну просто бы не смог адекватно выполнить за пару недель (на с? на питоне?). С той поры я знаю, что мне надо и никуда не спешу.
Ответить с цитированием
  (#7 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 02.01.2004, 15:30

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

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

что касается людей оставивших смоллток, то думаю, из тех кто почувсвовал его вкус таких крайне немного. Я как-то умудрился выполнить за два дня работу (будучи почти полным новичком), которую ну просто бы не смог адекватно выполнить за пару недель (на с? на питоне?). С той поры я знаю, что мне надо и никуда не спешу.
Ответить с цитированием
  (#8 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 02.01.2004, 15:30

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

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

что касается людей оставивших смоллток, то думаю, из тех кто почувсвовал его вкус таких крайне немного. Я как-то умудрился выполнить за два дня работу (будучи почти полным новичком), которую ну просто бы не смог адекватно выполнить за пару недель (на с? на питоне?). С той поры я знаю, что мне надо и никуда не спешу.
Ответить с цитированием
  (#9 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 10.01.2004, 20:13

Добрый день.

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

Есть ли еще какие-нибудь "фичи" у него, помимо удобного ОО программирования?

Для того, чтобы понять, что такие "фичи" бывают, предлагаю познакомиться с http://sys01.narod.ru/pl-new-1.htm .

Буду признателен за информацию и критику.
Ответить с цитированием
  (#10 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 11.01.2004, 03:47

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

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

P.S. Чисто вычислительные языки тоже нужны. Но это уже что-то из серии Haskell, Ocalm, Erlang. Такие как Java просто отпадают, потому что не решают хорошо ни одной задачи.
Ответить с цитированием
  (#11 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 14.01.2004, 00:06

Цитата:
Убеждать будет долго, да и нужно ли. Тем более не попробовав не поймешь.
Убеждать долго не нужно поскольку вопрос более или менее конкретный.

Цитата:
Хотел бы сделать маленькое замечание по поводу языков.
В большинстве случаев языки программирования рассматриваются с точки зрения вычислительной математики. Также языки рассматриваются через призму аппаратуры, на которой они работают.
В то время как в коммерческой индустрии на первый план выходит социологическая составляющая языка. То, как язык уживается с человеком и его задачами.
Например, как с точки зрения вычислительной математики рассмотреть компьютерное рисование, создание музыки, набросок прототипа визуального приложения, апробацию идей шаровары, обкатку юзабилити...
В этом я совершенно с Вами согласен. Это одна из причин, почему у меня возникает желание разработать новый язык программирования.

Цитата:
Вот Smalltalk и является таким социально-направленным языком. Он для человека является карандашом для рисования, в то время как другие языки - стрелками на клавиатуре.
Вот это уже интересно. Я сам по специальности физик и работаю с системами аналитических вычислений. У меня сразу же возникло несколько вопросов:
1) Использовался ли Smalltalk в области аналитических вычислений (это вычисления, в которых оперируют мат. формулами и мат. объектами)?
2) Сложно ли "подстроить" Smalltalk для той области знаний, в которой пользователь работает? Например, для той же математики.
Ответить с цитированием
  (#12 (permalink)) Старый
danio danio вне форума
Member
 
Сообщений: 366
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2004
По умолчанию 14.01.2004, 13:24

Цитата:
Убеждать долго не нужно поскольку вопрос более или менее конкретный.
видимо, все-таки, не так уж и конкретен если вы сопоставив характеристики Smalltalk (название пишется только с одной прописной буквой) , характеристиками других языков и собственными требованиями к языку, сделали быстрый вывод ("кроме удобного ОО ничего такого нет").
Возмем ваши критерии на страничке и соотнесем их, например, с работой в современной среде Squeak Smalltalk. Я сразу оговорюсь, что не эксперт в Squeak и не всегда уверен в том, что вы подразумевали написав то или иное требование. Однако попробуем:

Продуманный интерфейс взаимодействия человека и программы (и, программы и программы).
Smalltalk грубо можно считать родиной удобных инерфейсов (см. историю его появления). Для Squeak: http://minnow.cc.gatech.edu/squeak/4
Система накопления фактов и знаний.
Не совсем понял, что имеется в виду, но все что делается идет в image и Smalltalk обладает рефлексией, - информацию о системе быстро выуживать. Рефлексия Smalltalk очень глубока
Оптимизация.Знания + мета-знания = оптимальная программа
Тоже не очень понятно. Но есть такое правило: "сделай правильно, а потом сделай быстро" (гибкость Smalltalk легко позволяет модифицировать код, хоть в его процессе работы приложения)
Надъязыковой подход..
Не очень понятно. Стандратный подход в Smalltalk(да и не только) - создание предметной модели с определенной семантикой. Метауровень нужен больше для рефлексии самой системы - использование его для прикладных задач не рекомундуется (усложняет восприяте).
Версионность.
Версии методов в Squeаk сохраняются и доступны для просмотра и отката. Кроме того есть и другие средства поддержки .

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

В Smalltalk доведено до предела. В программу можно вносить изменения на этапе выполнения (фактически если брать Smalltalk в целом, то так происходит всегда).
Автоматическое определение качества программы.
Есть пакет Slint который проверяет код на наличие распространненных косяков. Ничто не мешает его дополнять.
Использование статистических методов.
Все доступно (рефлексия)
Ну, например,
Код:
(Array allInstances select: [:a | a size < 10 ] ) size
Выдаст количество массивов в image размером меньше 10 (36874 в моем случае). Как и что анлизировать - вопрос надобности и вкуса.
Автоматическая проверка правиль*ности программ
Распространенная в наше время технология (Test Driven Development) - сначала пишутся тесты. Пришла из XP и Smalltalk. Пакет SUnit.
Далее у вас, что-то совсем абстрактно.

Цитата:
В этом я совершенно с Вами согласен. Это одна из причин, почему у меня возникает желание разработать новый язык программирования.
А вы хорошенько осмотрели другие языки? И вы думаете это легко? Оставьте...

Цитата:
... и работаю с системами аналитических вычислений. У меня сразу же возникло несколько вопросов:
1) Использовался ли Smalltalk в области аналитических вычислений (это вычисления, в которых оперируют мат. формулами и мат. объектами)?
2) Сложно ли "подстроить" Smalltalk для той области знаний, в которой пользователь работает? Например, для той же математики.
Может быть и использовался - Smalltalk большой и старый(как и Lisp в котором тоже есть много всего). Может и basic использовался.
В Smalltalk очень легко программировать, но это не избавляет от необходимости все-таки программировать. Подстроить несложно, а вот чтобы написать соответсвующую модель, нужны глубокие знания в предметное области.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 14.01.2004, 14:35

Цитата:
Originally posted by Andrey1
[b]<div class='quotetop'>Цитата
Цитата:
Вот Smalltalk и является таким социально-направленным языком. Он для человека является карандашом для рисования, в то время как другие языки - стрелками на клавиатуре.
Вот это уже интересно. Я сам по специальности физик и работаю с системами аналитических вычислений. У меня сразу же возникло несколько вопросов:
1) Использовался ли Smalltalk в области аналитических вычислений (это вычисления, в которых оперируют мат. формулами и мат. объектами)?
2) Сложно ли "подстроить" Smalltalk для той области знаний, в которой пользователь работает? Например, для той же математики.[/quote]

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

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

Хоть у Smalltalk нет никакой вычислительной семантики, но благодаря мощной конструкции посылки сообщения можно удачно моделировать практически любую семантику.
Допустим, есть библиотеки, которые отображают стандартный протокол взаимодействия с классами коллекций на реляционную алгебру SQL.
Т.е.
Код:
Customers select: [:each | each firstName = 'John']
может быть динамически преобразовано в SQL вида
Код:
select * from Customers where FirstName = 'John'
и результат завернут в коллекцию объектов и возвращен в программу.

Этот же эффект можно применить и для математичких задач.
Например, можно создать решатель уравнений в виде:
Код:
[(x * x) = (x + a)] asEquation
    unknown: #x;
    known: #a value: 5;
    solve
В качестве примера можно привести пакет Cassowary. Его реализация на Smalltalk позволяет задавать ограничения в виде выражений на самом языке, эквивалентных математической записи.
Ответить с цитированием
  (#14 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 15.01.2004, 02:13

Цитата:
Originally posted by Anonymous+-->
Цитата:
По правде говоря Smalltalk не самый лучший инструмент для решения численных задач.
Вычисления в системах компьютерной алгебры принципиально отличаются от численных вычислений: в первом случае оперируют сложными мат. объектами, а во втором - числами.

<!--QuoteBegin-Anonymous

[b]
В этой области обычно доминируют функциональные языки. Они позволяют эффективно создавать и верифицировать алгебраические типы. Есс-но в Smalltalk все это также можно проделать, но с некоторыми ограничениями.
Не до конца понимаю, что Вы называете "алгебраическими типами". Мат. объект может иметь сложную структуру, даже не описываемую списком из более простых мат. объектов.

Цитата:
Originally posted by Anonymous
[b]
Но также у него есть преимущества. Обычная разработка выглядит как серия корректных трансформаций исходного кода, после чего программа может быть проверена. Может пройти достаточно много времени при переходе из одного корректного состояния в другое (хотя бы для того, чтобы скомпилировать). В это время разработчик не имеет никакой обратной связи от программы, кроме того, что имеет в голове и видит исходный код.
Это интересно.
Ответить с цитированием
  (#15 (permalink)) Старый
lvovin lvovin вне форума
Member
 
Сообщений: 82
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.02.2003
По умолчанию 15.01.2004, 11:29

Цитата:
Цитата:
По правде говоря Smalltalk не самый лучший инструмент для решения численных задач.
Вычисления в системах компьютерной алгебры принципиально отличаются от численных вычислений: в первом случае оперируют сложными мат. объектами, а во втором - числами.
Тут я естественно имел ввиду применение компьютерной алгебры.

Цитата:
В этой области обычно доминируют функциональные языки. Они позволяют эффективно создавать и верифицировать алгебраические типы. Есс-но в Smalltalk все это также можно проделать, но с некоторыми ограничениями.
Не до конца понимаю, что Вы называете "алгебраическими типами". Мат. объект может иметь сложную структуру, даже не описываемую списком из более простых мат. объектов.
[/quote]

Ну если вам нужны настолько более сложные математические объекты, то нужно брать либо специлизированный язык, либо найти соответствующую библиотеку.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите выбрать язык программирования? Джо++ Вопросы начинающих программистов 4 14.05.2011 19:03
Какой язык программирования выбрать St.Ark Вопросы начинающих программистов 30 16.03.2011 18:58
Какой выбрать язык программирования rGradeStd Вопросы начинающих программистов 7 16.01.2011 17:12
Какой выбрать язык для программирования Integrale2 Вопросы начинающих программистов 3 07.01.2011 01:56
1C vs С/С++ что выбрать для программирования Gillian Мысли вслух 73 04.07.2007 13:42
Что лучше выбрать для программирования just_vladimir Мысли вслух 12 21.06.2007 18:36
Какую выбрать книгу для программирования на С# Amo .NET 2 11.04.2007 13:10
Стиль программирования какой выбрать Кошмар С/С++ 9 13.09.2006 19:50
Какую программу выбрать для программирования euer85 Visual C++ 5 27.10.2004 09:32
Какой язык программирования выбрать Anonymous Вопросы начинающих программистов 15 29.06.2004 09:31
Какую выбрать программу для начального изучения программирования Anonymous Вопросы начинающих программистов 6 28.08.2003 11:30
С++Builder и Borland C++ что выбрать для программирования Domenom C++ Builder 8 16.07.2003 10:24



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов