programmers

I’m thinking about a career shift back to computers. I’m not sure exactly what, but i will probably go along with a java, c++ job and work as a part time cop. Is there a way to learn assembly (need it for a class) on vista? Is there a way to do it with Visual studio 2008 or 2010?

Also, what is this F# i hear about? “Functional programming”. It sounds like a way to incorporate various languages into one program and the compiler “knows” what language you’re using. Sounds neat. Anyone hear about it? It seems like a concept that should take off pretty quick.

Also and idea on entry level jobs with a BS in computer science? I see around 60-70k out of school in the NYC/long island area. Java seems to be pretty damn popular, but short of limewire, I’m not aware of any popular commercial software strictly written in java.

FUCK YEAH EGG NOG IS BACK GODDAMN I LOVE TURKEY DAY

Dusty and stas can probably answer these questions and point you in the right direction. Police work no longer appealing, Garr?

the language isn’t relevant - you are learning techniques and concepts.

From there learning any language is easy enough.

Java is used in many websites, and on lots of mobile devices.

Let me try to answer some of these.

I don’t use windows at work (where i do most of my development), so i don’t not know to best learn assembly in it. I’m pretty sure there is a way to do it however. If you are taking it in class, then just follow their method of teaching. Why do you need to know assembly? You want to be a m4D h4X0r? :slight_smile:

I have not seen F# actually being used anywhere. I had to look it up just to remember what it was. I don’t know how good of a chance it has to become more common. I’m not a fan of an idea where compiler “knows” what language you’re using. You have to know yourself which language to use given problem at hand.

This i can discuss at great lengths :). First about Java. I’m not a fan of Java whatsoever, however like you said it is very popular. There are many huge commercial software packages available out there developed entirely in Java. I can show you some examples if you are interested. Java is absolutely everywhere right now and it looks like it will stay around for a long long time (someone has to support all this crap). This popularity however comes at a huge cost. Right now hardware is so fast and forgiving that even the worst developed Java implementations are usually good enough for what they are designed. However when you look at the actual quality of Java code, it is typically below the quality of the same code done in C-languages. I see this everyday at many different places.

At the same time, being a Java developer (or at least saying that you know Java) will open up many opportunities when looking for entry level jobs. I used to do entry level developer interviews and knowing Java or C# was the first skill quality i checked (i was told to do that :slight_smile: ).

Finally about the salary. Salary range for entry level developer jobs depends primarily on the industry. For example, in financial industry in NYC (where i work) it is very much possible to get entry level position paying 55K-65K (70K is kinda pushing it right now). If you go in other fields like medicine or engineering (in general) you will probably get similar salary ranges. Obviously most of the “research” and most “government” positions will get you less. Also, NYC is very different compare to other locations. In finance industry it is by far the best location to look for a high paying job. Even when comparing positions in Jersey or Long island you can see how much more you get in NY.

At the end my recommendation would be to first figure out what industry you would like to work in and then see which specific skills you would need to learn to work in it.

From my personal experience working in consulting. You need to master one of: Java or C/C++/C# , two of scripting languages: Perl, Tcl, Python, etc and of course shell programming. That would be a good start.

You should always remember that engineers/developers are just problem solvers. Programming languages, design patterns, operating systems, and / version of random software are all just tools that you can use to solve those problems. They all have their place. Absorb as much as you can. You’ll eventually get to a point where you can pick up on a brand new language in a shockingly short amount of time–and all those basic ideas and principles will still apply.

And an education in computer science is a must. You’ll probably need it just to get your foot in the door and it’s going to provide you with a lot of good stuff. You’ll pick up on data structures, algorithms, operating system design, computer engineering, design patterns, object oriented design, and even a handful of languages.

I’ve worked as a developer who does 90% back-end development on web applications for the past five years and I really enjoy it. So I’m going to list some things that I think are very important to know. A lot of them also apply back to different areas of interest too.

If you ever find yourself interested in web development feel free to ask some questions. I’m pretty sure war does some similar stuff and would have some good things to add.

version control: subversion, git, perforce
db: mysql, pgsql, pear, memcached
back end: *nix, apache/lighttpd, php, smarty, ruby/rails, python, perl, shell scripting/bash
front end: flex/actionscript, ajax/javascript, prototype, jquery, yui, css, xhtml

I was thinking of tinkering around with web design. Do most organizations use dreamweaver or CS4 or do they hand code all that html (not fun)? I only have 2 classes to finish up my associates that i started in the beginning of the decade. I originally picked up programming on my own back when i was 14 or 15 with c++. The concepts are pretty understandable to me, it’s a matter of practice. I was curious to see if anything really changed in the past 5 or so years and a lot of the job postings I see are related to java programming.

I would imagine java being slower because of the middle-man JVM, and possibly it’s garbage collection not being as efficient as if you did it yourself for your particular application.

I assume C# is strictly for windows programming? I havn’t messed around with linux or unix either yet (though i have a ubuntu .iso laying around somewhere)

[quote]Do most organizations use dreamweaver or CS4 or do they hand code all that html
[/quote]
Granted, it really depends on how big the site is, but almost everyone uses some form of CMS. From Wordpress for smaller sites, to Drupal or Joomla for bigger sites. The average employee can be quickly taught how to add and edit pages as it usually is not much different than sending an email or making a post to a forum like this, and then as far as designers who are implementing templates, or editing, maintaining or creating templates, every imaginable tool is used, and it’s really up to the designer.

There are still some designers who do it purely by hand, but almost all of them are at least using some sort of real time tools to write in, like EMacs, or Textmate, or even the “Code” tool window in Dreamweaver.

at the end of the day, be comfortable with reading documentation, and writing it. Very important when you are using a version system

Don’t rely too much on the fancy tools, like dream weaver or Visual Studio. all you really need is a text editor and understanding the tool chain(which could be as simple as saving in the right directory).

Don’t listen to nobody Garr! If you have a gun, thats all that matters!

FU ALL

As for “functional programming” - I don’t think anyone explicitly answered it. Look up the language Scheme - it is an example of functional programming. Functional programming is opposed to procedural programming… it’s… quite different to program in. One generally does recursive algorithms rather than iterative in functional programming… It’s sort of weird.