Saturday, August 05, 2006

Learning a new programming language (again)

I guess I have to learn a new programming language again. This time, it's C#. The reason I have to learn a new language is that we are starting a new software house company. Our first order uses C# as the programming language and .NET as the framework.

Last night I spent a couple hours reading Eric Gunnerson's "A Programmer's Introduction to C#." It's a perfect book for me. It treats the readers as programmers. That is, it skips the introduction on computers and stuff. I knew that already. I taught C++ before (until last semester - this semester I have to many things to do so that I have to delegate this to somebody else) and used Java a few years ago (10 years ago?). The transition from C++ & Java to C# shouldn't be a drastic one. So, I can say that I know C# now. :) I just have to get a compiler to test some of the ideas and get my hands dirty.

I told (and will tell) my students that they have to master more than one programming language. It's just a fact of life. As for me, I lost count the number of programming languages I have learned (and forgotten).


ronny said...

I like C# better than Java. C# has more convenient features such as events, delegates, accessors, etc. Most of the biggest quirks in Java are addressed nicely in C#. So, kudos to the language designers.

It should take very little time to learn C# once you know an "object-oriented" programming language such as C++ or Java. You might even appreciate the differences and actually enjoy programming in C#. I did.

As for the development platform, Mono helped me a lot, especially with the built-in profiler. It helped me pinpoint the areas that could be optimized in my code. Even though the final target platform is Windows Mobile 2003, but I did most of the development (especially the algorithm part) in Mono, and only the GUI part was done in Visual Studio 2005. VS2005 is a good IDE, too, very enjoyable.

IMW said...

Many issues in Java and C# are solved nicely in Scala,

ayu wening said...

sorry,, this comment is out of topic actually.

I visit ur blog regularly. It's nice to find a person like u in the virtual world.

ehem, I take ur course (advanced security) next semester. See u in the real world then. Can't wait ;-)

vontho said...

I used to try to understand a programming language, even I was not study in programming school such Informatic Engineering. Now, I am studying in a school that have no deal with programming but I still have an intention to try to understand a programming language. (I just know a little about HTML and that's not even a programming language, right?) My question, from where should I start if I wanted to learn programming language?

Willy Sudiarto Raharjo said...

C# is a nice programming language, that's true, but it will be better if Microsoft update the .NET more frequently (more release is the word for it i think). For example, in .NET Framework 1.1, they missed a key data for DEL key, which makes it quite difficult to grab the event if somebody press the DEL button. They just add them in 2.0. Nice :D

@Vontho: Any programming language is good, but i think it will be better if you learn a programming language which is based on your need. If you never touched it before, Pascal is one of the simplest one. Grab the logic first and then, you can start switching to other languages, as the main logic will quite the same (except for Object-Oriented Programming). If you would like to start using OOP, Java or C# will be quite interesting

Dondy said...

pPak Budi,

It's nice to see that you finally have interest on C#. C# is indeed a very easy language to learn especially for someone who has such caliber as you. However one thing that you might need to address is the .NET Library which in my opinion is little bit need more attention that the C# language

Dondy said...

Sorry forgot to mention. If you have time, I suggest reading Professional .NET Framework 2.0 by Joe Duffy