calhoun_ftw Posted September 12, 2008 Posted September 12, 2008 So everyone, let me set up my question a little. Back in high school, couple of years ago. I was very big into programming, they had classes but I was always ahead of the class because of its slow paced teaching style and general noobiness, not only of the class, but of the teacher. Back in those days, I was interested in every thing from writing little programs to make my day better, but also more hackign type stuff, like how to hack and all that crapola. So cause of all this, I know alot of web stuff: (X)HTML, CSS, JS, all that crapola. As well as knowing and haveing about 2 years experience writing general programs in VB, C++, and Java. Anyways, after watching some Hak5, I feel this inspiration to get back into programming hardcore (kinda fell away into a more general advanced user type of feel going on, hope that makes sense). Also, I am especially interested in the darker ways of it all, but everywhere I read they suggest using a language I don't know, which is fine, I'll learn. But the actual content, and the concepts of everything they show is overwhelmingly complex for me. I don't know if I'm stupid or if there is some type of steep ass learning curve that I just can't get past. So what I am looking for, if you all could be so kind is: Some general information, your past experiences, where to go for a kind of buffer between where my skillset is and how to get into that higher stuff that is above me. And, I don't mean for hacking stuff, I mean that could be cool and all, but i really just want to program big things, and I feel that concepts of doing things like this, is above me right now. I don't know, I hope this isn't stupid, and would welcome all input. kthxbye Quote
digip Posted September 12, 2008 Posted September 12, 2008 We are all still learning. I don't think you ever stop. Even the advanced users here, so best thing I could suggest is just keep an open mind, read anything you can get your hands on, and just ask questions when you get stuck on something you need help with, as a lot of people here offer help and can point you in the right direction when they can't. As for concepts and content, describe something you have looked at and don't understand or are trying to code yourself. More detail on what specifcly it is you have a question about, like post the source code of something you are working on, or want more info on or the program you have questions about. What is this "big thing" you have a desire to code? Join in the coding challenges in this thread: http://hak5.org/forums/index.php?showtopic=8411 and maybe it will help you dust the rust off. Google for starters, and just general observation of other peoples work as well as experimenting with code you find online (if you have the source code to work from) will help you understand better what they are doing, but I think it's the same learning curve for everyone who is teaching themself. Practice, experimentation, observation and ask a lot of questions. More importantly, search and read up on the subject you are tackling. I have found that the most things I am able to grasp and figure out usually come from trial and error, doing rather than just asking alone, because in the end, you have to make it, break it, and fix it on your own to really understand it. Quote
calhoun_ftw Posted September 12, 2008 Author Posted September 12, 2008 I don't have any examples of what I tend to get really frustrated with because, I never really bookmark those places. However, the coding challenges might be a good thing to participate in, because I do have a lot of rust to shake off. Anyways, thanks for the response! Maybe its just that I see advanced users and I wonder why I am not already advanced, like it should have just happened or something, lame, I know. Quote
Chris S Posted September 12, 2008 Posted September 12, 2008 I've been developing software for about 10 years now professionally, and have owned my own consulting company for about 6. I do pretty well, and have some high profile Fortune 500 clients, but if it's any consolation, just about every time a new technology comes out, even it's just an advancement in a technology I'm already very proficient at, I just about always get overwhelmed. The first thing I ask myself is, "Holy shit, is this the stuff that's going to make me obsolete like the assem & cobol peeps I make fun of and get overrun by all the young guys out there?" But so far, I just sit down and set aside time to learn, and after awhile it just becomes second nature. Digip is absolutely right; we never stop learning, which is true of most professions like accountants, doctors, lawyers, etc., but maybe even moreso in our industry because things change so fast. I haven't done java professionally for a couple of years (mainly do C#), but if I wanted to pick up a project in it, I'd definitely be rusty and have to spend the time to get up to speed. So don't get discouraged, just practice, and there's plenty of resources to ask for help when you need it. I still buy books for new techs, but really Google has become the best reference for researching/finding answers to any coding questions I have for currently and/or mainsteam technologies. You said you were out of highschool, not sure if you mentioned college, but I'd highly recommend going to a 4yr college in CS if you were really serious about software development as a profession. Quote
calhoun_ftw Posted September 12, 2008 Author Posted September 12, 2008 You said you were out of highschool, not sure if you mentioned college, but I'd highly recommend going to a 4yr college in CS if you were really serious about software development as a profession. This is some great advice as I have been wondering if I should go back to school. Quote
Steve8x Posted September 12, 2008 Posted September 12, 2008 Yes its good advice! Also good advice: assembly language is the key to becoming "comfortable" with coding! I didn't start advancing, until I started learning it! As thats what everything comes down to! it all comes down to assembly code executed directly by your processor! if your down with the lower level, moving bits and bytes around memory locations, and understanding what the computer is actually doing, what has become of your code, then higher up level languages will become easier! take any program, attach a disassembler to it! what do you see? assembly opcodes and the bytes that make them up. So if everything comes down to assembly in the end, If you start with assembly and end with assembly, you can really optimize how a program runs because your writing your code minimally... When you compile a program with a language like C++, or Delphi, etc, the compiler coverts your source code into code that your computer can understand! Your computer does not understand C++ code it understands machine code, its pretty much the same thing as assembly! because the the syntax that you use which once you know it well makes things a bit faster to write, alot more assembly codes are generated than if you hand crafted the assembly codes yourself! So you can see what I'm getting at, hand written ASM provides smaller executable sizes, faster execution times, and overall just better performance than a compiled into assembly code app... It isn't always necessary though! Some things will run fast even without assembly if they aren't too processor intensive! So its good to find that balance, assembly when you need it most in critical parts of your app that must be fast! and your source code for your language that you compile, to make development a bit quicker. I would code everything in ASM but I like being able to develop app's faster because of the C++ syntax. So bottom line Assembly Rules Them All :) Its just a matter how you want to get there, through handwriting it or compiling your source! Quote
jollyrancher82 Posted September 13, 2008 Posted September 13, 2008 I've been programming for around 7 years now. I tinkered around with BASIC until I started off learning how to create web pages with HTML, soon using CSS. Then I took a break, came back and learnt PHP. Once I grasped PHP, I moved onto C, having learnt PHP C came across as simple. I soon added SQL to the list of languages learnt and this helped me with PHP and databases. Then I became more interested in different languages; Perl, Objective-C, and others. I then moved onto C++ learning pretty quickly about the OOP side of it having already got the hang of C. Then I started to dabble in OSDev, so I picked up assembly pretty quick. Got interested more in assembly so I looked into writing 32 bit apps using MASM. I then moved onto mainly working in C/C++ with Win32 API. Over the last year I've been using C# and ASP.NET for some projects. If any new language comes around that looks interesting I'll probably pick that up too. For a more in-depth look at what I've learnt over the years you can visit: http://tombell.org.uk/blog/about/ Quote
Esqulax Posted September 13, 2008 Posted September 13, 2008 I been Programming on and off for about 6 or 7 years. I still know fuck all though :) Ive got experience in C++, Java, ASM, Pascal, BASIC, HTML, PHP, SQL, JavaScript. I know a bit of each.. not enough to be "proficient" (i.e not enough to get a job doing...) but enough that i can understand technical stuff about them. Im tryna re-light the fire for programming again, but at the moment its hard to learn "for learnings sake" I wanna get into databases, but i'll make it, and not use it. so to me its pointless :P I was thinking maybe a small game...Meh.. just thinking aloud ;) Quote
eman7613 Posted September 18, 2008 Posted September 18, 2008 Ive been programing for 4 years now, but i basically swim in the stuff :P I started with VB in highschool and made a word processor, then i moved to Java then tried C, C++, Haskal (shivers, bad memories), Python, numerous scripting langauges, and back to Java cause it satisfies my needs and cravings. I'd suggest you do what I do, first get your feet wet in it and fallow the regular simple stuff till you get the syntax down, and then dive in with something big that is something you think is cool or useful or fun or interesting. If you do that, not only will you get really good at the language your in and better at programing in general, but whatever your working on you'll learn forwards and back. That's what i did for Java and Math, cause thats what i enjoy and it was a language i liked, and now i have a 5 form graphing calculator that my teacher gives to students who don't have a TI. And dont just stop there, keep going. Ive been writing and rewriting my math stuff in Java for almost 1 year now, and despite being in my first year of college I've done high level algorithm implementations, testing, improving, comparing, and gotten to a point were i have an API that i will probably include in every resume i ever send, and enjoyed every moment of it. I highly recommend continuing your education with CS. Its a job that will never go out of demand or easily over supplied (how many laymen do you know who can use a computer worth diddly eh?). Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.