I want to start programming again...

Status
Not open for further replies.

anat0l

Enthusiast
Joined
Dec 30, 2006
Posts
11,669
Hello again :p If you're not a programmer or have no idea about programming / IT, best to stop reading now...


...as some of you know, I finished a B Inf Tech at university and haven't really been exercising those programming skills well since I graduated. It doesn't seem likely that any of my duties in the immediate future will put them to the test, but I'd like to get back into the programming space even for my own personal interest.

At uni my choice of language was Java (supposing it still is), which I used to develop, test and compile on the Eclipse IDE platform. Great language (cross platform, strong typing & contracting, no need for pointers like the C series of languages) but several key cons:
  • Running Java applications required runtime to be installed on target environment - annoying for end user.
  • Although most test metrics seem to report contrary, I find some Java applications to be horrendously slow compared to those written in other languages (like C# or C++, though I guess those comparisons are pretty obvious).
  • Swing is a real PITA to program with. In fact, multi-threaded programming which is necessary for Java GUIs really sends me around the bend at times.

So for the people in the know here, I'm just wondering what would be a good language to try my hand / get into? The word on the street seems to be C#, Python or Ruby. I'd preferably like to develop GUI applications that can be run on Windows (as a minimum, but unless you write for the web or in C and Java, very little chance on going cross-platform on the same programming project). Of course, to program in such languages needs at minimum an IDE (apart from trusty Notepad) and a compiler. If either of these components could be had free of charge, that would be good (for example I'm looking at C# on Visual Studio Express, which seems to simplify GUI creation and event handling through the ability to directly create Windows Forms (although the code generated will be necessarily horrible)). Preference is for OO languages; I have some experience with functional (viz. Scheme) but no experience (read: I terribly suck) in logical languages (e.g. Prolog).

Did I mention I hate Visual Basic?

So... any suggestions from the academy?
 
Read our AFF credit card guides and start earning more points now.

AFF Supporters can remove this and all advertisements

So you want to be a code cutter?

Sorry I can't help you with any suggestions Anat0l. I have been programming for 25+ years and each year my desire to program is less and less. These days I prefer to work in the analytical side investigating "bugs" in software.
 
I have a dual major (B, Inf Tech w/Software Development and Data Comms), but tbh I don't use much of either in my real life. I can't even start to suggest what to do.

PS - I hated all the languages we learnt during uni, right now the extent of my day-to-day programming involves creating random batch files!
 
Over the last 16 years I've worked my way through C/C++/Java/PL*SQL/C#.

All my current work is in C#, but based on the jobs on seek, the real jobs (and money) seems to be in ASP.Net. Pity I hate web development :P
 
You have to love a language that claims no pointers, but has as its most common run time error 'NullPointerException' :shock:

It's not that Java has no pointers (because it does), but it handles all the pointer referencing/dereferencing for you. It also has garbage collection (which admittedly slows down the whole VM).

NullPointerExceptions, like mostly everything else, are usually a result of programmer mistakes and failing to cover the exception. At least you can get an instant stack trace from Java. Try finding where you've dereferenced a null pointer in a C program and all the compiler tells you is "Segmentation Fault". :shock:
 
Ok - Here's one, What is wrong with the following code, to find the average of two integers:

Well that's pretty easy. What if the average is not an integer? Not to mention that the corollary of this is that the divisor '2' is incorrectly written to allow the division to proceed correctly anyway.
 
Well that's pretty easy. What if the average is not an integer? Not to mention that the corollary of this is that the divisor '2' is incorrectly written to allow the division to proceed correctly anyway.

No, the issue was not rounding.

This bug was in some of the Java collections code. It was also written as "int mid = (low + high) >> 1" in some parts of the code (e.g. Binary Search). The rounding was immaterial.
 
Ok - Here's one, What is wrong with the following code, to find the average of two integers:
It is written in the wrong language! ;)

Seriously I have no idea. I don't want to program in a language where a number has to be defined as long, short, int etc....
 
It is written in the wrong language! ;)

Seriously I have no idea. I don't want to program in a language where a number has to be defined as long, short, int etc....

Better than languages where everything has to be in the right columns ;)
 
So... any suggestions from the academy?


If you are wanting to write Windows GUI applications, then there seems to be little reason why you wouldn't take the C# approach. For the most part, you can avoid even having to look at the IDE generated code*.


*Although, the comment 'This code generated by a tool' is probably the most accurate comment I have ever seen in programming!
 
You obviously haven't programmed in Free format RPG ILE! :p

RPG... oh the memories :)

Loved the language and IBM mini environments...

iOS and Android seem to be popular places to be these days

Paddy
 
I have found over the years that once you have a good knowledge of basic semantics, methods and process flows, then all you need to suss out are the semantics of any specific programming language and off you go.

i.e. Once a programmer, always a programmer [in any language] ...
 
Being a current programmer on their lunch break, here is my advice.

1 - Learn C#... Seems to be the universal .net language.
2 - Get an understanding of ASP.Net. Those C# skills will come in handy for that.
3 - Get an understanding of Databases... MS SQL is a good one to know... Even if you can't data model, (a boring dry subject - trust me on that) having some knowledge about how a database works beyond "it stores data" will be a big bonus.

Most of the projects I work on are ASP.Net projects, usually with some degree of database behind them. The ability for ASP.Net to be both cross platform and be usable without any install procedures (as well as easy "deployment" of patches) makes it a language often chosen for business apps. Infact I have worked on a variety of projects moving windows applications across to ASP.Net projects.

If you like I'd be happy to PM you and let you know how I made the transistion across from "IT guy" to programmer and how I got myself as a key person in multiple programming projects, not just as another low level code monkey.
 
Status
Not open for further replies.

Become an AFF member!

Join Australian Frequent Flyer (AFF) for free and unlock insider tips, exclusive deals, and global meetups with 65,000+ frequent flyers.

AFF members can also access our Frequent Flyer Training courses, and upgrade to Fast-track your way to expert traveller status and unlock even more exclusive discounts!

AFF forum abbreviations

Wondering about Y, J or any of the other abbreviations used on our forum?

Check out our guide to common AFF acronyms & abbreviations.
Back
Top