About Me

Since being a scener often leads to meeting new people and communication on the Web often leaves out a lot, I wrote this so there'll be no doubt as to what I like and what I mean.

I like a good discussion, but try less and less to do it on the Web since I prefer nice, deep and meaningful conversations IRL. But when it comes to things you're passionate about, it's sometimes hard to not share your view :)

My motto is "all kinds of demos for all kinds of platforms in all kinds of languages". On limited platforms there's an additional reason to like a demo; nice code and doing things previously thought impossible. (Sometimes different degrees of cheating is used to achieve both, and then it ofc taints the nice effect by an amount related to the degree of cheating. But sometimes there's no choice because of the limitations, ofc ;))

I think c is an abortion of a language, and to a slightly lesser extent c++. The syntax is illogical and the sources fluffed up and ugly. It lacks some of the beautiful ideas in other languages, so I prefer them over c/c++. It's hard for me to come up with rational reasons why someone should choose c/c++ over most other languages. It's a hacker's language. Hacking something together is fine for getting started, but I like to spend some time honing the nice bits, and then I'd like that code to be as clearly readable and nice-looking as I can make it. Call it a "code style" issue if you want, or call me a snob.

So much for my opinion. It doesn't really matter what I think, since it's become the standard and fastest high-level language. Other languages have not gotten the attention to have as awesome compiler-optimization, nor have they had CPUs adapted to run those compiler's quirks faster over the decades. (For example, Pascal and C were about as fast in 1993, and since, hundreds of compiler companies have competed to make c binaries more optimized, but not so for Pascal.)

It also doesn't matter if I/you like assembler. It's my choice for coding for limited platforms, since I know how much faster asm can be than c/c++. If you want your demo to (depending on skill) go the fastest it can go, assembler is the only choice.

There's no reason to go asm-only, or c/c++-only on non-limited platforms. Just run it on a faster computer to make it go full speed. For example, with Delphi you can mix Delphi, c++, and inline assembler freely, and supports DX and OpenGL. Same thing with Python+Torque 2D or 3D. If you're going to make an impressive, modern demo you will likely use DX/OpenGL lib code instead of yours, and you are free to choose the language you like with infinitesmal speed penalty.

It bothers me a little that c++ is so persuasive and ferociously pushed as "the only real language for proper stuff", because it goes against my motto. But nobody really bothers to code other languages for years and find out what can be done with them, due to this pervasive claim. Often I hear that c/c++ is as fast as asm. Excuse me, that's bullshit. Apart from the obvious things like stack abuse and oversized and superfluous vars, when you construct stuff from the ground up in asm, if you're skilled you construct code and data from scratch that are optimal for what you want to achieve. You're not forced into structural and functional thinking of c/c++ (and all other high level languages, of course). With obvious exceptions, like copying data from a structure to another or some simple example like that, there will always be a 2-10x gain between the best program an asm coder can make, and the same program in c/c++.

If you say this out loud, many respond 'OK, prove it!'. Well, that's just silly. As if the burden is on those that already go faster. I could as easily say, 'here's a little asm program, YOU prove it' ;) I could give them the fastest div function for ARM and watch them try, I guess. But I don't really mean little stuff; I mean more of a replacement of some whole, like an app or effect.

If you love other languages than c/c++, beware! I usually stick to stating truths and sharing my opinion, but even then some people seem to think I want them to switch languages or accuse them of having made a mistake. Not so, of course. It's just to add to the dwindling support and information about those, since c/c++ became "the one and only" standard. Sometimes people share the craziest estimates of what other languages can do, usually based on 5-20 years old information. Sometimes it's based on a 2-week introductory course in the language. Me, I find it fascinating to hear facts and tales of cool routines for those languages! :)

And if you share some aspect of your language is better or more beautiful, again the burden is on you. There are millions of c/c++ coders that will admit themselves that they are beginners, but strangely, if you say you like some other language, you need to show them something cool - when it's simply your preference.

So motto #2: "Code in whatever language you like to spend a lot of time in, and stand up for your choice" :)

Doesn't mean you should troll and look down on c/c++ coders as they look down on other languages, though. Unless you are in an informed crowd that likes/can handle a good discussion, of course. Me, I find it most productive to exclusively state truths and disprove myths, misperceptions and outright falsehoods.

Language is just a choice (or in an ideal world, that's how it should be, anyway!), I know spending all my time in a bothersome language would make me a masochist and not have a good time. And if I spend months on a seriously great thing (if my skill/stamina allows:P), I want to have fun all that time!

 

It has happened to me that since I love Amiga and Assembler, I've been branded as "oldskool". (I don't mind it, and I do have a soft spot for that skool too.) This usually comes from people coding in that super cool and modern language, c++, that was tacked on c in 1983! :D Not so of course, I look for greatness in idea and execution in all demos on all platforms. If I dislike some newskool demos, it's because of effect- or design trends that have become predictable and boring. And I reserve the right to like something because I like the implementation, even if it has the same trends.

Apart from Amiga coding, I code on other platforms I like, including PC. I also spend a lot of time in Photoshop and ArtRage, compose music in Protracker and Reason, and model stuff in Maya. Right now and for a piece of the future I'm completely dedicated to coding stuff for Amiga 500 stuff, but there's nothing that says I won't code for AGA/060, PC, ARM platforms, C64, MSX, Spectrum, Apple II, or any of the platforms I've coded on through the decades. It's usually just a matter of getting into it again, but each switch takes time.

Or contribute to gfx and music compos, I really love to do both, but "I'm booked full until the next release" (tm) ;) I would also like to be a cartoonist again, and I like to write (can you tell? :P) so I'd like to write some books about my passions. But those last two are not even on the map if I am to be a scener, at least that's how I feel about it right now.

I used to know (digital) electronics quite well and have designed an EPROM-reader, a simple computer, and a VDU circuit. But that was 15 years ago, so I'm a little rusty, even though the basics are still solid. I'd like to get into FPGA or play with an ARM board sometime and get into electronics proper again and make something cool. But the same reasons apply.

So anyway, don't confuse me with some backwards retro-only "everything that came after Amiga died sucks" type person ;)


I wrote this to explain who I am, exactly where I come from, and my opinions on things. If you like some things that are depreciated today too, I recommend you do the same. It's handier to link to this than trying to explain it in casual Web conversations - there seems to be some prevalent misunderstanding that if you love something nice that is old, you like all things retro and only that.


 

 

Comment this post

  • Required fields are marked with *.
  • Comments may be moderated.

If you have trouble reading the code, click on the code itself to generate a new random code.
Security Code: