|
Uniqs: 1111 |
Share Topic  |
 |
|
|
|
 BrushedToothRemember To Shop Smart Shop S Mart join:2001-02-12 Westerville, OH 2 edits | reply to Zombieman05
Re: Career path / directional help? If you're looking into doing Unix, systems, or low level programming I'll warn you that any sort of entry level job is virtually no existent. Most of such jobs want a minimum of 5+ years, they want to see experience. This portion of the field is filled with guys in their late 40's and on. From what I've read and been told the best approach is going to be to get your programming chops down solid, this means the ability to move from language to language easily (they mostly all just become difference of syntax and semantics) writing clean and efficient code. Once you're at this point then make an entry into some open source projects to get your name out there. The exposure of getting into and fixing someone else code is very common in the programming world, and something you'll need to be good at. None of this is something that will happen overnight, programming will take several years get down and even then you will be far from an expert. The field is ever changing, and the direction you choose to learn your skills is up to you. A lot of places prefer degrees, but I see positions that just want you to know your stuff.
Python is a good starting language as it helps enforce object oriented principles, uses the DRY (don't repeat yourself) principle, and the interactive console helps with language exploration. Stick to the core portions of the language, as most stated in this thread most places aren't using 3.x versions yet, most are still on 2.4-6. Read through the languages API and try to not reinvent the wheel (but understand how things are solved).
Learn which language and framework might be best for a specific task. For something a simple bash or python script might be perfect while writing something in c/c++ or java may be completely overkill. This is something that will come with time, and something most schools fail to teach students. They tend to use a single language (Java) and teach it as the end all be all, but yet the chance of that student finding a java job out of school is pretty slim.
EDIT: As others said c/c++ is what you want to lean towards, c is procedural and c++ adds the object oriented portion (while still being procedural). Whichever you choose code to the standards, but going straight into c or c++ is going to most likely be more difficult than going to python then python to others. -- AKA Its_Smee, I got bored with that name. | |  pabloMVM join:2003-06-23 kudos:1 | reply to bjlockie Hi,
As I said in my initial response to the OP, I'd have ignored the grammar but given he was looking for career path help, I thought I'd mention it. 
Cheers, -pablo -- openSUSE 11.1/.2;KDE/Xfce ISP: TekSavvy DSL; backhauled via a 6KM wireless link | |  Reviews:
·Cybersurf Intern..
| reply to BrushedTooth quote: If you're looking into doing Unix, systems, or low level programming I'll warn you that any sort of entry level job is virtually no existent.
I wouldnt necessarily agree. I'm fairly sure there's a programming house in pretty much every city that would take programming who are entry level.
Though if you want to be a programmer; take advantage in Google's summer of code. Doing some coding on some base stuff like compression algorithms always good work; or the best things to work on are enterprise/business class open source apps. Samba4 or some Linux backup tools, or some work on BTRFS.
quote: The exposure of getting into and fixing someone else code is very common in the programming world, and something you'll need to be good at. None of this is something that will happen overnight, programming will take several years get down and even then you will be far from an expert.
Recently read a good line from a book, paraphrasing(because I cant be bothered to find it); You can program everyday 12 hours a day in C, C++, or java, for 5 years. After then you will possibly be able to code cleanly but you wont know jack about your chosen language.
quote: Learn which language and framework might be best for a specific task. For something a simple bash or python script might be perfect while writing something in c/c++ or java may be completely overkill.
This is an interesting thing. Personally I have a bash script running about 350 lines of code. I'm not sure when it's time for it to become a program; im also not sure when a program grows to where you ought to build a gui for it. Not that I have any clue how to build a gui; well I know how to use glade; im just not sure how it interacts with the code.
quote: This is something that will come with time, and something most schools fail to teach students. They tend to use a single language (Java) and teach it as the end all be all, but yet the chance of that student finding a java job out of school is pretty slim.
While I've never taken a programming course, I have to agree with this. I think I understand it though. Again code full time for 5 years and you wont know half the game. What chance does a school have in teaching students if they are teaching several languages?
quote: EDIT: As others said c/c++ is what you want to lean towards, c is procedural and c++ adds the object oriented portion (while still being procedural). Whichever you choose code to the standards, but going straight into c or c++ is going to most likely be more difficult than going to python then python to others.
I learnt C first. Now I'm learning C++ and really am finding it hard to think on how to construct code in object manner. Unless I build it after the fact. Which is great functionally speaking; but again so much more efficient if I had the experience and could code it like it ought to.
Though at the same time. My research on C++ is discovering it's weaknesses. Which all suggest moving to java. I'll probably stick with c++ which supports basically coding in C and slowly grow into C++
I feel though that someone(maybe google) will come out with a new language which is completely compatible with c and c++. Clean up the messy code and open up options; for example compare the BASH switch statement code to C, so much more efficient in bash. Also for opening up options, for example garbage collection being a togglable thing, that in the code during times when performance isnt so much an issue, you can set it to do a sort of garbage collecting. It would need to retain the performance of C. And ofcoarse no proprietary bs like C# | |  BrushedToothRemember To Shop Smart Shop S Mart join:2001-02-12 Westerville, OH | quote: I wouldnt necessarily agree. I'm fairly sure there's a programming house in pretty much every city that would take programming who are entry level.
Unfortunately a lot of these smaller shops have disappeared, or been purchased by the big boys. There are a few exceptions to this, in my searching I haven't had too much luck finding such and talking with contractors in the field c/c++ isn't in too much demand right now.
quote: Recently read a good line from a book, paraphrasing(because I cant be bothered to find it); You can program everyday 12 hours a day in C, C++, or java, for 5 years. After then you will possibly be able to code cleanly but you wont know jack about your chosen language.
At this point hopefully the language has a good API to make searching for things easy, Java's API is great and for c I always used the man pages.
quote: This is an interesting thing. Personally I have a bash script running about 350 lines of code. I'm not sure when it's time for it to become a program; im also not sure when a program grows to where you ought to build a gui for it. Not that I have any clue how to build a gui; well I know how to use glade; im just not sure how it interacts with the code.
The issue with this is the script probably grew over time, taking the time to rewrite it may not be worth it. Bash is powerful, and lets you do a lot of things it's when you start coercing it into doing things that you should look into PERL, Python, PHP, etc..
quote: While I've never taken a programming course, I have to agree with this. I think I understand it though. Again code full time for 5 years and you wont know half the game. What chance does a school have in teaching students if they are teaching several languages?
I have a degree in CS, and although they gave us minimal exposure to c++ it was on me to pursue optional classes that covered other languages. Unfortunately a lot of professors never set foot in the real world and if they did was for a short period of time, they know the theory but ignore teaching real world applications. I really wish they graded on not just the problem being solved but also how you accomplished it and how clean the code is.
quote: I learnt C first. Now I'm learning C++ and really am finding it hard to think on how to construct code in object manner. Unless I build it after the fact. Which is great functionally speaking; but again so much more efficient if I had the experience and could code it like it ought to.
Learning OO after starting as a procedural programmer can be difficult, it's kind of something that just clicks on day. C does have structs which are kind of very primitive objects. Going from OO background to procedural can be easier transition.
quote: Though at the same time. My research on C++ is discovering it's weaknesses. Which all suggest moving to java. I'll probably stick with c++ which supports basically coding in C and slowly grow into C++
There is a newer version of c++ planned, c++0x which will address some of the issues. c++ is more difficult to start with as a first language. I like c++, just wish it was easier to find a job programming in it.
quote: I feel though that someone(maybe google) will come out with a new language which is completely compatible with c and c++. Clean up the messy code and open up options; for example compare the BASH switch statement code to C, so much more efficient in bash. Also for opening up options, for example garbage collection being a togglable thing, that in the code during times when performance isnt so much an issue, you can set it to do a sort of garbage collecting. It would need to retain the performance of C. And ofcoarse no proprietary bs like C#
There's some nice newer languages, which are getting more popular including Scala and groovy. Not all languages have switch statments, but do have things similar such as Python. Garbage collection is nice, but I have found it leads people to write messy and lazy code. While in school a lot of students had no understanding of memory usage since all they did was code in Java. There's a lot of languages now that run on top of the JVM which supposedly run as fast as if they are run natively and gain the benefits of garbage collection among other things. -- AKA Its_Smee, I got bored with that name. | |  KakalakyPremium join:2003-04-04 Broken Arrow, OK kudos:1 | said by BrushedTooth: I like c++, just wish it was easier to find a job programming in it. If you think that's hard try finding a job using a functional programming language. | |  BrushedToothRemember To Shop Smart Shop S Mart join:2001-02-12 Westerville, OH | I'm good I did enough pure LISP programming to cover any such desire. -- AKA Its_Smee, I got bored with that name. | |
|