OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 11:17 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 189 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 13  Next
Author Message
 Post subject: Re:Advice for novice programmers thread
PostPosted: Mon Jan 23, 2006 4:42 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 2:31 am
Posts: 5964
Location: In a galaxy, far, far away
Be curious. Of every new language that you hear of, of every new technique, programming design ...

If you can grab a book talking about early computer designs, addressing modes, opcodes to manipulate the stack, or how a garbage collector works, bless the day ;)

There's no such thing like a "best language" ... there are only unpractical use of a given language.

_________________
Image May the source be with you.


Top
 Profile  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Mon Apr 10, 2006 3:16 pm 
@Jordan3: Algebra is advanced now?


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Wed Apr 12, 2006 1:29 am 
Advanced algebra is ;D


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Fri Apr 14, 2006 7:33 pm 
Some of the key points I'd advise:

1. Don't waste your time on useless code, or something that will not benefit you in the future. (Unless ofcourse its work)

2. Patients is the virtue. Without patients is a programmer who has stop advancing.

3. Abstract thinking is important. Almost every experience in life can be applied to another, this applies to reusable code or one that can be modified very easily for a specific case.

I'd agree that English is a must, IMO mathematics may be not nessessary however it just as important to me as being able to read assembly code. With it you'll have less weight on your shoulders. If you dig down far enough you'll eventually cross paths with math and or assembly. Just my two cents :)


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sat Apr 15, 2006 4:05 am 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 11:33 pm
Posts: 3882
Location: Eindhoven
Ryu wrote:
2. Patients is the virtue. Without patients is a programmer who has stop advancing.

You mean patience. Patients are the people that are in a hospital that don't work there.
Quote:
3. Abstract thinking is important. Almost every experience in life can be applied to another, this applies to reusable code or one that can be modified very easily for a specific case.

I'd agree that English is a must, IMO mathematics may be not nessessary however it just as important to me as being able to read assembly code. With it you'll have less weight on your shoulders. If you dig down far enough you'll eventually cross paths with math and or assembly. Just my two cents :)

I very much agree on the last paragraph. If you can do the stuff around programming, you'll find programming (and designing) a lot easier.


Top
 Profile  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 1:01 pm 
Candy wrote:
Patients are the people that are in a hospital that don't work there.

Yeah, your definition would explain why I'm forced in a hospital bed and given medications each time I visit a friend or a relative there. I don't, indeed, work in a hospital.


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 1:07 pm 
Kemp wrote:
Quote:
To learn on your own, I recommend starting out with either BASIC or Perl (something interpreted). Learn Pascal from there to teach you compiled, imperative and most importantly STRUCTURED programming before moving on to C or C++ as you please.


You pretty much nailed my path there, lol.

BASIC -> Pascal -> Delphi -> C -> C++

Assembly and Python mixed in there as well. Python is a great language I have to say.


I can recommend AGI -> PHP/SQL -> C++
AGI teaches basic concepts (variables, syntax, basic logical thinking)
PHP/SQL teaches to work with databases, create functions, loops, etc.
C++ teaches the rest of OO and completes the teachings.


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 3:15 pm 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
Guys?

Blame it on me being slightly intoxicated here at Breakpoint '06 if I'm being blunt, but I think that recommending a learning path across three or four languages is pretty stupid.

Find out what you really want to do, ask people who're doing right that which language they're using for it, and learn that language. No detour.

Learning a handful of language can round off your skills, but it can not set a foundation where there is none.

Oh, and SQL ain't no programming language...

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 4:30 pm 
SQL isn't programming, indeed, but I know that, at least for me, it's given a far clearer understanding of how to create classes, especially data classes, in C++.


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 5:03 pm 
Offline
Member
Member
User avatar

Joined: Thu Nov 16, 2006 12:01 pm
Posts: 7612
Location: Germany
Aha...?!?

Well, if it worked for you... ;)

_________________
Every good solution is obvious once you've found it.


Top
 Profile  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Sun Apr 16, 2006 5:09 pm 
Exactly ;)

(Btw, the data classes's cause of what to store in the class and what not, and what should be accessed in which way. SQL's far simpler for it, but if used correctly, it'll teach how to think out how to make the most usable classes while keeping them to a minimum and not making your code less complicated. It's an extra step, but can be a useful one when thinking in a certain way)


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Thu Apr 27, 2006 10:22 am 
Schol-R-LEA wrote:
Chris Cromer wrote:
I would recommend learning PHP more than I would perl. ;)


I have to disagree, not because Perl is the better language, but because it is the more universal language. Whether PHP is a better language for Web scripting or not is irrelevant, since web scripting is only one part of what Perl is used for; its role in automating system administration and operation, while less visible, is far more important. Perl has long since supplanted C-Shell as the preeminent scripting language under Unix, while under Windows, it far outstrips the use of VB for Scripting (which is not to be mistaken for VBScript, which is M$ half-assed answer to Java Script). I have heard it estimated that amount of Perl code written daily exceeds that of all other programming languages combined, and it seems plausible. Given it ubiquity, if you don't know at least a little Perl, you're going to have serious problems.

In short, I included Perl for the same reason I included HTML and C: because in the programming field today, you don't really have a choice about it.


I agree! Perl is widely used for systems programming, shell programming/scripting etc. on top of its web applications. Especially in the latter versions which encapsulate OOP it is an all round language that everyone should know and people should understand how much it has evolved since its early scripting days.

My own personal ports of call for learning development have been:

  • be good at maths and physics (will help with advanced algorithms and coding at later stages). also being good at foreign languages can also help as your mind is already acustomed to learning different languages.
  • (X)HTML - for basic "programming" technique, syntax and to facilitate "the learning mindset".
  • Perl && mod_perl - to move on to learning correct programming syntax and structure. start developing OOP concepts as well as (the added extra of) expanding your knowledge of Internet protocols i.e. HTTP. teaches you about interpreted language development.
  • C - to start developing in more detail the understanding of high level languages and structured programming methodology as well as expanding on the previous topics learned. with C being very similar to Perl in syntax the transition should be far easier but as C is compiled it will also introduce you to compiling, linking and debugging.
  • C++ && || Java - expands even further on your existing knowledge but further increases understanding of OOP, compiling and interpreting.
  • asm and system architecture (x86) - this is the ultimate and lowest level (or pretty much) of development you can experience and teaches you how the system works at the basement level, lol. this helps you learn pretty much everything about how the computer works and will help you with more advanced programming.


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Tue Aug 29, 2006 4:13 pm 
First and foremost, thank you all for all the advice. I'm a novice programmer, and I certainly got some insights from what y'all have written(though a little confused about where to actually start, due to too many discrepancies in the explanations, but no biggie).
I got a question though: It seems a programmer's life is a nerdy life, if one's supposed to know all much about all those stuff, so are you all nerds?
For a programmer who's moving towards the robotics engineering side, which languages would be bes for them tl learn? I heard the C family is the best cuz it's multi-platformed. Any insights, tips ,and contributions would be so appreciated.


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Tue Aug 29, 2006 4:20 pm 
I prefer to call myself a geek. Nerd has negative connotations whereas geek just means you know a lot about something (not necessarily computer related even) *shrugs* Whatever gets you through the day.

For embedded systems C tends to be the most supported language that you can get the most help for, but you should check out specifics for your particular area. Some of our embedded systems needed NesC, which can only be called C if you ignore most of it :P


Top
  
 
 Post subject: Re:Advice for novice programmers thread
PostPosted: Thu Sep 07, 2006 7:28 am 
Hmm. Advice for novice programmers... ;) You are not novice. There are no 'levels' in real world; beginner, novice, master, doesn't map well with the reality. You just understand some programming stuff, that's all.

There is no language you should learn, neither mathematics. The most important thing you should learn is to program. This doesn't mean mathematics or C. Instead it means you should understand what a computer really is and what can you do with it; Increase the pattern size of mental term 'computer'.

I'd say programming is about giving commands; manipulating systems to do what you want. What I've noticed to gain with my hobby and feel important are:
- Capability to gain understanding at an amazing speed, this is required to understand the really much changing output you get.
- Capability to understand patterns amongst complex context. You need to specify what you want, if what you want can be said simpler without destroying information content, then you can also write the program to be simpler.

Everything else, languages you use, processor architecture you program to (biological cell is a processor!), mathematical notations&logic you use(mathematics==language), is secondary to take a benefit from programming.


Top
  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 189 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 13  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 32 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group