Print Story I've come to a painful realization
Religion & Philosophy
By spacejack (Mon Dec 03, 2007 at 09:11:58 AM EST) (all tags)
I no longer enjoy working with strongly-typed languages.


For web development, anyway.

I miss writing concise stuff like:
$arr = array('a'=>1, 'b'=>2);
or:
foreach( $a as $k=>$v )

I don't like casting stuff all the time, or having to create specially-typed collections. Or having to check for null references or non-existent keys or undefined variables, which could otherwise be handled just fine as "empty" values.

I hate looking through a dozen class definitions to figure out what sort of specialized iterator I need to walk through the values of a collection.

I hate having to compile sources into binaries. I hate the extra time it takes to find out where a runtime error occurred.

I hate having to set up exception handlers, which once again means looking up more objects in bloated MSDN docs. I hate wasting time thinking about whether a method should throw an exception or return a status value.

Anyway, yeah, not so excited about C# anymore. It's pretty much just Java all over again.

< MFC Time, Mistletoe and Wine | BBC White season: 'Rivers of Blood' >
I've come to a painful realization | 18 comments (18 topical, 0 hidden) | Trackback
There are some things by yicky yacky (4.00 / 3) #1 Mon Dec 03, 2007 at 09:35:51 AM EST

that are actually easier to do in system languages, and some things that are better done using them (usually high-speed, intense-processing stuff) but few people need to do them. I came to the same realization as you when I'd mastered Python. PHP failed to convince me, as did perl (they're useful in what they do, but I never wanted to develop in them). Python's become my stock go-to language, and I get annoyed if I can't use it.


----
Vacuity abhors a vacuum.
concurrance by cam (4.00 / 2) #2 Mon Dec 03, 2007 at 09:42:56 AM EST
is mine to give freely - and I do in this instance.

cam
Freedom, liberty, equity and an Australian Republic

[ Parent ]
VHDL by garlic (4.00 / 1) #10 Mon Dec 03, 2007 at 11:56:51 AM EST
all the way for concurrent statements.

Oh, that's not what you meant? nevermind.


[ Parent ]
I never planned to like PHP by spacejack (4.00 / 1) #3 Mon Dec 03, 2007 at 09:47:13 AM EST
as I didn't really want to learn it, but it's become pretty standard for most of our clients. The rest use ASP, with the odd Perl or Java job once in a blue moon.

I ended up liking PHP in spite of myself. So much of what people make fun of (all the functions in the global namespace, for example) are actually really useful when it comes down to it.

I kinda liked Python when I had a look, but haven't been able to use it for any jobs yet. I'll probably be doing PHP/VB/C# for the foreseeable future... until some other trend comes along.

[ Parent ]
Java all over again. by wiredog (4.00 / 1) #4 Mon Dec 03, 2007 at 10:26:39 AM EST
Cleaned up a bit, as Java is a cleaned up C++.  But yeah.

Earth First!
(We can strip mine the rest later.)

well, smurf smurfy smurfs smurfly smurfed smurf by lm (4.00 / 2) #5 Mon Dec 03, 2007 at 10:37:25 AM EST
Smurf smurf?

There is no more degenerate kind of state than that in which the richest are supposed to be the best.
Cicero, The Republic
If that's what my diary looks like by spacejack (4.00 / 1) #8 Mon Dec 03, 2007 at 11:29:59 AM EST
then I envy you.

[ Parent ]
ENJOY YOUR JAVASCRIPT by discordia (4.00 / 1) #6 Mon Dec 03, 2007 at 11:03:42 AM EST


DON'T MIND IF I DO by spacejack (2.00 / 0) #7 Mon Dec 03, 2007 at 11:08:45 AM EST
At least it'll get done today rather than three months from now!

[ Parent ]
Java all over again by Bob Abooey (4.00 / 1) #9 Mon Dec 03, 2007 at 11:40:47 AM EST
I thought that was the whole point of C#, no?

Warmest regards,
--Your best pal Bob

How's my blogging: Call me at 209.867.5309 to complain.

Yeah by ucblockhead (4.00 / 1) #11 Mon Dec 03, 2007 at 12:15:21 PM EST
Except not quite so stupid.
---
[ucblockhead is] useless and subhuman
[ Parent ]
And not "owned" by Sun by Bob Abooey (4.00 / 1) #12 Mon Dec 03, 2007 at 12:17:08 PM EST
~nt~

Warmest regards,
--Your best pal Bob

How's my blogging: Call me at 209.867.5309 to complain.

[ Parent ]
ob use ML by herbert (4.00 / 2) #13 Mon Dec 03, 2007 at 01:33:06 PM EST
because half of these complaints don't apply to real strongly typed languages.


Welcome to LaszloLand! by johnny (4.00 / 1) #14 Mon Dec 03, 2007 at 03:47:27 PM EST
Laszlo's LZX, which is a client-side XML/JavaScript language for web applications that compiles to Flash or browser-native JavaScript (and probably soon to Java, Silverlight, etc), may be to your liking. It has a <class> tag that allows you to create classes from instances, and it gives you the best of both class-based and prototype-based OO systems. Since it's JavaScript, it's loosely-typed. But it will suport ECMAscript 2 soon enough, and that has all kind of optional strong typing crapola so you can move computes from runtime to compile time, if that floats your boat.

I don't know why I should be pimping this language, despite having written 80% of the existing documentation for it over the last five years. The company that sponsors it, Laszlo Systems, laid me off just before Thanksgiving, the bastids, and by all logic I should have a serious "fuck you" attitude about it.  Which I kinda do towards the company, a little.

But the language really does rock. I don't know why you would use anything else for web-app development. Unless you think the company's going to fold, of course, and that therefore eventually the open source OpenLaszlo LZX project will evaporate, leaving you with a dead source. Which is always possible.  Perhaps probable, I don't know.
Buy my books, dammit!

enjoy a programming language? by dr k (4.00 / 1) #15 Mon Dec 03, 2007 at 10:16:19 PM EST
That's a bit like saying: "Man I can't wait to fix the hinges on that door, because then I can use my Phillips screwdriver!"


:| :| :| :| :|

I take it you don't own any power tools [nt] by lm (4.00 / 1) #16 Tue Dec 04, 2007 at 04:43:36 AM EST


There is no more degenerate kind of state than that in which the richest are supposed to be the best.
Cicero, The Republic
[ Parent ]
hand tools are to power tools by dr k (2.00 / 0) #18 Tue Dec 04, 2007 at 07:05:33 PM EST
as a text editor is to an IDE.

Alas, neither one of them guarantees you will build something useful.

:| :| :| :| :|

[ Parent ]
Since you are stuck in C#-land.... by crux (2.00 / 0) #17 Tue Dec 04, 2007 at 08:02:54 AM EST
I highly recommend you look into F# or scala. (The latter's community & history is a bit more java-oriented but supposedly the language works fine on the CLR).

Both are "statically typed" and yet both are, to quote quantz.com, AWESOME!!!!!

I've not used F# directly, but it is an O'Caml clone/port to the CLR, and I've done a lot with that -- for me it was my first "functional" language and was a very welcome mind expander (and I still use it for quite a bit).

I'm currently using scala fairly to write some code that uses a number of "enterprise" java APIs from the Apache Foundation. It's actually rather concise and not painful at all, which is a huge testament to the language.

They will not solve all your complaints. Particularly: In C# you are free to ignore thrown exceptions just like you can in Python or Ruby ... I don't see how that's a 'statically typed' thing, more a java-specific thing (checked exceptions are evil.) In C# I've yet to come across a collection that doesn't work with 'foreach' or implement IEnumerable, so I'm not sure where that one's coming from ... java, or C++?

They will help some, though: type inference, not-null guarantees, functional programming idioms,... personally I prefer either well above ruby, python, and the like.

I've come to a painful realization | 18 comments (18 topical, 0 hidden) | Trackback