|
|
|
JMickle
|
 |
« Reply #1 on: April 17, 2012, 02:23:36 PM » |
|
...what /is/ smalltalk? neither of those links really explained that to me.
|
|
|
|
|
Logged
|
|
|
|
|
Guillaume
|
 |
« Reply #2 on: April 17, 2012, 02:53:31 PM » |
|
It's a language from the 80's where everything is an object, objects communicate by passing objects to one another, and you develop in an environment where you edit your code as it is running and see the direct outcomes etc.
|
|
|
|
|
Logged
|
|
|
|
|
JMickle
|
 |
« Reply #3 on: April 17, 2012, 02:56:00 PM » |
|
i like live code editing.
|
|
|
|
|
Logged
|
|
|
|
|
eigenbom
|
 |
« Reply #4 on: April 17, 2012, 03:12:35 PM » |
|
I've never used smalltalk, and as far as live code editing goes, it's an awesome idea, but I think we're still a long way off .. Victor's app is a party trick, but a very cool one. The live-coding musicians are breaking some ground, but it's still so immature. Real-time manipulation of in-game data, hot-loading assets (such as scripts), etc., otoh, are totally doable, so I'd like to see more games use them. But I'd champion any one trying to do this! It might be better do it in Lua though ... just because I like it. 
|
|
|
|
|
Logged
|
|
|
|
|
yesfish
|
 |
« Reply #5 on: April 17, 2012, 03:20:51 PM » |
|
Unity allows you to edit then reload scripts as the game's running... I bet you could modify other engines to do similar functionality
|
|
|
|
|
Logged
|
|
|
|
|
Dacke
|
 |
« Reply #6 on: April 19, 2012, 03:48:36 AM » |
|
I already rely on Hot Code Replacement when programming Java in Eclipse.  (But I don't have all the time-line, edit-future stuff that could be nice for a game)
|
|
|
|
|
Logged
|
vegan socialist atheist humanist liberal FOSSer programmer feminist animal rights activist pacifist teetotaller
|
|
|
|
Polly
|
 |
« Reply #7 on: April 19, 2012, 09:31:39 AM » |
|
.. and you develop in an environment where you edit your code as it is running and see the direct outcomes etc.
ZGameEditor does exactly that ( using C instead of smalltalk ) .. and not just code, you can add objects, import textures, switch shaders, modify sounds, link DLLs etc. while your project is running.
|
|
|
|
|
Logged
|
|
|
|
|
ANtY
|
 |
« Reply #8 on: April 19, 2012, 09:51:31 AM » |
|
This article was so fun to read  What is interesting about Smalltalk 1. Smalltalk syntax in Smalltalk: service := WeatherForecastService forLocation: 'Toronto'. forecast := service forecastForDays: 5 format: 'Xml'.
in Ruby: service = WeatherForecastService.forLocation 'Toronto' forecast = service.forecastForDaysInFormat(5, "xml") service.forecastFor ->{puts "Do stuff"}, ->{puts "handling errors"}
The same code will look better in Smalltalk: service forecastFor: [Transcript show: 'Do stuff'] error: [Transcript show: 'Error!']. not sure if trolling or just pascal programmer
|
|
|
|
|
Logged
|
|
|
|
|
Xienen
|
 |
« Reply #9 on: April 20, 2012, 06:37:38 PM » |
|
This article was so fun to read  What is interesting about Smalltalk 1. Smalltalk syntax in Smalltalk: service := WeatherForecastService forLocation: 'Toronto'. forecast := service forecastForDays: 5 format: 'Xml'.
in Ruby: service = WeatherForecastService.forLocation 'Toronto' forecast = service.forecastForDaysInFormat(5, "xml") service.forecastFor ->{puts "Do stuff"}, ->{puts "handling errors"}
The same code will look better in Smalltalk: service forecastFor: [Transcript show: 'Do stuff'] error: [Transcript show: 'Error!']. not sure if trolling or just pascal programmer Haha, agreed! 
|
|
|
|
|
Logged
|
Owner/Programmer at Greater Good Games makers of Break Blocks Currently developing It Hungers(Unity) and Swipe Attack(UDK)
|
|
|
|
Dacke
|
 |
« Reply #10 on: April 20, 2012, 06:44:28 PM » |
|
The snippet above will print true and you cannot do anything to change it in Ruby. But you can easily change this behavior for Smalltlak. If you want to ... treat an empty collection as false just define ifTrue:ifFalse: method. Redefining the basic language constructs as you go. Awesome idea. Totally results in readable and predictable code. Just look at how great operator overloading works out in C++ 
|
|
|
|
|
Logged
|
vegan socialist atheist humanist liberal FOSSer programmer feminist animal rights activist pacifist teetotaller
|
|
|
|
ANtY
|
 |
« Reply #11 on: April 21, 2012, 02:25:47 AM » |
|
I always do #define and && #define or || in c++ but yeah, changing true to false isn't anything useful
|
|
|
|
|
Logged
|
|
|
|
|
Dacke
|
 |
« Reply #12 on: April 21, 2012, 03:37:59 AM » |
|
With great power comes great responsibility. ANtY you are clearly a powerful, responsible and wise man edit: also, operator overloading is to give existing operators new meanings. Which is a much darker witchcraft than simple #define-macros
|
|
|
|
« Last Edit: April 21, 2012, 03:48:04 AM by Dacke »
|
Logged
|
vegan socialist atheist humanist liberal FOSSer programmer feminist animal rights activist pacifist teetotaller
|
|
|
|
ANtY
|
 |
« Reply #13 on: April 21, 2012, 03:45:07 AM » |
|
With great power comes great responsibility. ANtY you are clearly a powerful, responsible and wise man  Finally someone noticed, I was wondering how long I'll have to wait 
|
|
|
|
|
Logged
|
|
|
|
|
rogerlevy
Guest
|
 |
« Reply #14 on: April 21, 2012, 08:36:27 AM » |
|
The snippet above will print true and you cannot do anything to change it in Ruby. But you can easily change this behavior for Smalltlak. If you want to ... treat an empty collection as false just define ifTrue:ifFalse: method. Redefining the basic language constructs as you go. Awesome idea. Totally results in readable and predictable code. Just look at how great operator overloading works out in C++  This is the most retarded shit ever. C++'s syntax is almost illegible as it is, so OF COURSE changing things up on people is just going to make it worse.
|
|
|
|
|
Logged
|
|
|
|
|