Jump to content

  • Log In with Google      Sign In   
  • Create Account

Gamer Gamester

Member Since 01 Mar 2003
Offline Last Active Jan 29 2012 11:48 PM

Posts I've Made

In Topic: Laptop vs Desktop

29 January 2012 - 02:27 AM

I agree: aim to get both (ultimate desktop workstation with a laptop/netbook for portability). As a bonus, it can be useful to have a spare computer (like if the need should arise to consult the internet while installing Arch Linux, or something).

If it's not economical to do both right away, then start with one, and eventually add the other.

In Topic: Functional languages in gamedev

18 December 2011 - 11:20 PM

Check out Land of Lisp!

In Topic: HTML5 vs. Flash vs. Silverlight

10 December 2011 - 02:08 PM

The vast majority of my job involves dealing with existing codebases (maintaining, porting, and interop). With C, C++, C#, Java, the static type system gives a lot of extra information to me (through the IDE) as I'm figuring out what other people's code does. I've recently started working on Actionscript and Javascript projects, and find myself wanting that rich type information back.

To all proponents of dynamically typed languages: How do you deal with this situation? Is it something you encounter on a regular basis? Or is there some holy grail of code maintenance in dynamically typed land as well?

Have any of you guys that strongly enjoy dynamic typed languages tried implicit-but-statically typed languages like C# and F#? If so, have you used them enough to form reasons for the paradigm you like more?

Using a REPL for interactive development can be very helpful. In the case of JavaScript, most browsers have some sort of "Web Console" you can use to interact with your code. You can type console.dir(my_object) to see all its properties and methods. In many dynamic languages, there are interactive REPL shells that support auto-completion, which you can integrate into certain text editors. Some people consider this a disadvantage (would rather have a pre-baked IDE), while others consider it an advantage (because they're going to use vim or emacs anyway).

Really, the only times I've had these sorts of problems (while not using a REPL) is when I've been using code that was ported from a statically-typed language, so I'm guessing a different sort of dynamic programming style or code maintenance emerges. I'm having trouble pinpointing what these differences are at the moment, but perhaps someone who's investigated this issue more deeply has some suggestions for us.

In Topic: Before you try to break into the industry...

08 December 2011 - 11:16 PM

I think my company knows that I'd just quit if they tried to require me to work overtime. :D

In Topic: HTML5 vs. Flash vs. Silverlight

08 December 2011 - 07:27 PM

Other advantages include getting to work with a strongly typed language, traditional OOP support, more advanced debugging tools, better asset creation tools, and a nice library of free code.

Except some consider weak typing to be an advantage... though more importantly, JavaScript is dynamically typed. JavaFX and (optionally) Actionscript are statically typed. I consider dynamic typing a huge advantage. People are still arguing between static & dynamic typing, but I tend to think the static typing fans are being a little stubborn (note: I used to be one). Static typing proponents seem to view dynamic typing as reckless and unsafe. I guess that, like me, they were brought up on static typing, and can't imagine programming without it. Since taking the time to gain experience with dynamic typing, I've come to realize that it allows me to spend less time dealing with typing concerns while granting me a wider range of computational expression. A good article by a self-proclaimed "statically typed bigot" is here.

There are people who also consider prototypal inheritance an advantage (over the non-"traditional OOP" classical inheritance that you speak of).

I agree with you on the tool situation, but as far as the programming language is concerned, I think JavaScript has the advantage (if you manage to avoid the hundreds of bad tutorials for it and stick to the few good books on it). Dynamic typing, first-class functions, closures, object literals... it's very expressive.