smalltalk

11 отговора 407 прегледа
#1

smalltalk

Що за чудо е това "SmallTalk" и има ли то почва у нас? От къв зор някой ще иска да си прехвърля програма от С на smalltalk ? Какви са му предимствата?

Отговор
в отговор на lala #2

Re: smalltalk

smalltalk == laf-mohabet
Reasons to develop in Smalltalk
by Jason Steffler

Smalltalk is a portable environment: write once, run anywhere, so people can learn on whatever OS they're running (as opposed to just the M$ variety)
is very easy to learn... one of it's original design intentions was to be a learning environment for children
is a pure OO environment and encourages OO programming (as opposed to encouraging procedural/Object mixed programming)
cutting your teeth in Smalltalk makes you a better OO programmer in any other language, because of the previous bullet
can look at and manipulate objects in real time.
Smalltalk is written in Smalltalk. You can view how the language is put together to learn the language, and you can change anything that you don't like about it.
has garbage collection, no manual memory management, no explicit pointers
is a literate language; by this I mean the syntax is very simple and is geared towards programmer readability.
has a very active and very helpful community; when you post a question to the Smalltalk newsgroups you very often get an answer, unlike many other newsgroups

Отговор
в отговор на emo #3

Re: smalltalk

eto i drugo mnenie po vuprosa

----------------------------------------------------------------------------------------------------
[линк]
----------------------------------------------------------------------------------------------------

[26.3] Should I learn Smalltalk before I learn OO/C++?
Don't bother.

If your ultimate goal is to learn OO/C++ and you don't already know Smalltalk, reading books or taking courses in Smalltalk will not only waste your time, but it will teach you a bunch of things that you'll explicitly have to un-learn when you finally get back on track and learn OO/C++ (e.g., dynamic typing, non-subtyping inheritance, error-code exception handling, etc.).

Knowing a "pure" OO language doesn't make the transition to OO/C++ any easier. This is not a theory; we have trained and mentored literally thousands of software professionals in OO. In fact, Smalltalk experience can make it harder for some people: they need to unlearn some rather deep notions about typing and inheritance in addition to needing to learn new syntax and idioms. This unlearning process is especially painful and slow for those who cling to Smalltalk with religious zeal ("C++ is not like Smalltalk, therefore C++ is evil").

If you want to learn OO/C++, learn OO/C++. Taking time out to learn Smalltalk will waste your time and confuse you.

Note: I sit on both the ANSI C++ (X3J16) and ANSI Smalltalk (X3J20) standardization committees. I am not a language bigot. I'm not saying C++ is better or worse than Smalltalk; I'm simply saying that they are different.

[ Top | Bottom | Previous section | Next section | Search the FAQ ]

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на lala #4

Re: smalltalk

ami te horata sa napisali citati kakwo tochno e SMALLTALK-a taka che az nqma da gi powtarqm. Nistina sa prawi che "smalltalk"-a zaedno s "lisp"-a sa ezici kym koito chowek mozhe da se "pristrasti" i posle mi e trudno da misli w terminite na C++ ili Java. Wqrno e i ibratnoto za hora rabotili dylgo wreme na C++ e trudno da preminat na "smalltalk".

Ot komersialna gledna tochka dosega ne znam w BG nqkoi da pishe neshto na SMALLTALK (makar che che mozhe skoro i towa da stane), taka che ako iskash da investirash w nego sys cel "rabota" ... kofti izbor mi se struwa. Ako go prawish izcqlo zaradi KEFA ot ezika ... ami zamisli se i za COMMON LISP.

ako imash dostyp do news server probwai da prochetesh kakwo pishe wyw grupite za "smalltalk" ili "lisp", winagi ima nqkoi nachinaesh da zadawa wyprosi i tochno w tezi dwe grupi naisitna si praqt truda da otgoarqt, taka che ima kakwo da nauchih dori samo ot cheteneto tam.

A za twa koi ezik i nai dobyr "SMALLTALK, "LISP", "C++" ili ..... "C#" : no comment
kolkoto choweka pitash, tolkova razlichni otgowora sthe poluchihs

Отговор
в отговор на Gercho #5

Re: smalltalk

ot malkia mi opit sus smalltalk tova koeto mi hareswa e che wsichko e obekt (dori i chislata) i te poluchwata suobshtenia koito obrabotwat... Taka chisloto 123 mozhe da poluchi suobshtenie da bude subrano s drugo chislo...

Oshte drugo jako neshto e che mozhe da podawash celi programni blockove kato parametri (messagi) i te da budat izpolzwani - izwikwani ot tam.. Taka lesno mozhe da si kustomizirash daden sort kak da raboti naprimer...

znam che IBM VisualAge e smalltalk - no nishto poveche ot tova

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на malkia #6

Re: smalltalk

Ама то и в C# е така - числата могат да бъдат разглеждани като обекти, можеш да пишеш неща от сорта на 123.ToString() и т.н.

Колкото до предаването на блокове код като параметри - в C/C++ открай време съществува предаването на функции като параметри на други функции. Това навремето даже се използваше активно (например в библиотечната функция qsort, на която можеш да подадеш функция, съдържаща критерия за сравнение). Този начин на работа обаче (с указатели към функции) забавя изпълнението на програмите, ето защо напоследък не се използва често. Вместо това се наложиха шаблоните (templates) в C++.

P.S. За VisualAge - то си е среда за разработка, като Visual Studio на Microsoft. Има VisualAge for Java, VisualAge for C++ и т.н., включително SmallTalk.

Редактирано от ironcode на

Отговор
в отговор на ironcode #7

Re: smalltalk

otkrai vreme imash w predvid ot suzdawaneto na purwia kompilator na C....

ama ne mi beshe tova ideata.... :)

w smalltalk mozhe da go napravish tova bez da pishesh otdelen block za funkciata direktno [ code ] i taka ( ne si spomnjam tochno sintaxisa )...

taka de.. :0)

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на malkia #8

Re: smalltalk

Е, така да То и ЛИСП го може...

Абе всеки език си има приложение. C/C++ става за едно, LISP за друго, SmallTalk за трето... А вече от къде да започне човек - не знам. Аз му препоръчвам да се захване със C/C++, пък после, ако го влече - и с други работи.

Отговор
в отговор на ironcode #9

Re: smalltalk

mersi za otgovorite, no may az ne se izkazah pravilno... ne pitam s kakvo da zapochna... imam predlogenie za 'prevegdane' na programa ot C na smalltalk. ot smalltalk nisto ne otbiram... sa da iskat tova, yavno smalltalk ima nyakakvo predimstvo pred C v nyakoya oblast..

Отговор
в отговор на lala #10

Re: smalltalk

malko zwuchi ot roda che frenskia ima predimstwo pred anglijskia...

Wsushnost realno anglijskia ima predimstwo pred frenskia - zashtoto mnogo poveche se izpolzwa i to wuw naj-razlichni sferi...

Obache kakvo go pravi po vazhen ot frenskia - fakta che e stanal neshto kato standarten ezik za obmjana na danni i misli - internet, documentazii, technologii - i tam podobni wse se opiswat na anglijski.

Sushtoto e i sus C ezika - shte namerish mnogo poveche kompilatori, biblioteki, sorsove, dokumentazii, hora, organizacii zanimawashti se sus C/C++ otkolkoto sus smalltalk.

Taka che ne wizhdam predimstwata na smalltalk pred C/C++ - ne kazwam che smalltalk e losh ezik - mozhe bi e po-dobur ot C/C++ no prosto e njamal kusmet.. heh - kato beta-max kasetite na Sony, ili kato Dreamcasta na SEGA - dobra game-konsola - malko kusmet :)

Um tzaruwa, Um robuwa, Um belia delfin
Отговор
в отговор на malkia #11

Re: smalltalk

Така си е Само дето beta-max си се използват в телевизионни студиа и навсякъде, където трябва качествен образ... Ако искаш примерно да ти пуснат реклама по някоя телевизия, трябва да им я занесеш на beta-max...

Отговор
в отговор на lala #12

Re: smalltalk

Ne che se symnqwam kolko si dobyr(a) kato probtramist, obache sled kato ne si i wizhdal smalltalk .... kakto i da q prwedesh taq programa ot C na Smalltalk sthe e
kofti rabota. Edwa li sthe ima nqkakwo predimstwo pred tazi napisana na C/C++.

Po moeto skromno mnenie shte ti trqbwat minimum 4 meseca (ako si genni, i pone 6-8 ako si kato men) dokato wniknesh napylno w duha na toq ezik taka che da mozhesh da mu izwelechesh wsichkite predimstwa (ili pone powecheto ot tqh).

p.s : I sthe trqbwa da zabrawish powecheto ot neshtata koito smatash za efektivnni wyw C/C++

Отговор