That was actually the reason I recommended it - it has a structure similar to a programming language, with nested statements, attribute assignments, etc., but is static, and thus somewhat easier for a novice to understand. My idea was that one could get familiar with the idea of coding first before actually learning a programming language.B.E wrote: @Schol-R-LEA:HTML has nothing to do with programming. Moreover, there is no flow control constructs of the language (except JavaScript, but it is a difference language).Start off learning HTML markup before getting into an actual programming language; it is structured quite similarly to many programming languages, but is much easier to learn.
Advice for novice programmers thread
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re:Advice for novice programmers thread
Re: Advice for novice programmers thread
I suggest learning DOS because it gets you ready for ASM. Then learn JavaScript because it gets you ready for C. Then learn VB because it gets you use to API/GUI Design. Then learn C because it gets you used to having power. Then learn ASM because it gives you true power. Then learn PIC because it makes you leet. Then learn AI because you can make rad automatons. Then die because your life is complete.
Free energy is indeed evil for it absorbs the light.
Re: Advice for novice programmers thread
I would say that doesn't make your life complete, as I've gone on beyond that point and grew up.
Re: Advice for novice programmers thread
Do you have pics of your automaton or any robot you have made?
Free energy is indeed evil for it absorbs the light.
Re: Advice for novice programmers thread
Note: Omega that in the future there be a program or assembly\compiler more powerful then today and this will be never ending.Omega wrote:I suggest learning DOS because it gets you ready for ASM. Then learn JavaScript because it gets you ready for C. Then learn VB because it gets you use to API/GUI Design. Then learn C because it gets you used to having power. Then learn ASM because it gives you true power. Then learn PIC because it makes you leet. Then learn AI because you can make rad automatons. Then die because your life is complete.
DT Model 1540 OS 1% <Kernel>
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: Advice for novice programmers thread
How many people actually learnt via baby steps? (Learn HTML, learn Javascript, learn Bash scripting, learn Basic, learn C#, learn C..)
Let them jump straight into C (or C++).. I think it'll be much easier learning the language you want to learn, since there are a lot of tutorials out there for beginners. I found it much harder going from procedure programming to object oriented programming than if I jumped straight in to OOP.
Let them jump straight into C (or C++).. I think it'll be much easier learning the language you want to learn, since there are a lot of tutorials out there for beginners. I found it much harder going from procedure programming to object oriented programming than if I jumped straight in to OOP.
My OS is Perception.
Re: Advice for novice programmers thread
I'm becoming more and more tempted to say: "Learn Haskell First".Let them jump straight into C (or C++).. I think it'll be much easier learning the language you want to learn, since there are a lot of tutorials out there for beginners. I found it much harder going from procedure programming to object oriented programming than if I jumped straight in to OOP.
C8H10N4O2 | #446691 | Trust the nodes.
Re: Advice for novice programmers thread
I think a scripting languages like JavaScript or Ruby is a great starting point to get into C/C++. I think there should be some sort of intermediate step as the 'diving right in' approach doesn't always work.
Website: https://joscor.com
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: Advice for novice programmers thread
I learnt with HTML, BASIC or .bat first (can't remember), then JS, PHP and finally on to C before learning other langs (Perl, Pascal and others)
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
-
- Member
- Posts: 566
- Joined: Tue Jun 20, 2006 9:17 am
Re: Advice for novice programmers thread
I also learned QBASIC first, then C++ , without a computer from a book . I did not have a computer at that point of time . I had to wait for nearly 2 years more to get hands on experience , then proceeded to learn Java,VB 6.0 , C# , Python,perl, Pascal , C ,x86 asm ( also PDP -11 , CRAY-1 , Mk 68000 , VAX , Power PC -- but do not rembember anything now , learned them for the exams ) , 8085 and interfacing as well . I can even create a language now if i want to [ ] .
Regards
Sandeep
Regards
Sandeep
-
- Posts: 11
- Joined: Wed Nov 14, 2007 4:48 am
Re: Advice for novice programmers thread
I'm an advocate of jumping right in. Every day that I type "=" instead of "==", or type "then" at the end of my conditional statements is a day I regret learning visual basic. It didn't really teach me anything that other languages can't, and it would've saved me getting out of a lot of bad habits.
This is kind of getting off topic btw!
Advice to new programmers: The only question its appropriate to ask another programmer is: "What should I google to find X". Also www.projecteuler.net is awesomesauce for learning a new language.
This is kind of getting off topic btw!
Advice to new programmers: The only question its appropriate to ask another programmer is: "What should I google to find X". Also www.projecteuler.net is awesomesauce for learning a new language.
Shadyjames wrote:If my calculations are accurate, than 76% of the awesomeness in this room has emanated directly from us
pcmattman wrote:Tomorrow lets try for 85
Re: Advice for novice programmers thread
At least for me, I think its best to start at the beginning with assembly and then go into procedural and then OOP. The reason is that I started with Java, but I was always so curious as to how things actually worked within the computer, which led me to C which let me understand things better, then finally to assembly, where I felt I finally "got" how programs work on the computer. Also, once I went back to C and then back to Java, I could really appreciate what they could do and what they are best for after I had some experience with the lower level languages.
Re: Advice for novice programmers thread
I certainly agree with you here. I myself started with C then a little bit of C++, then some Java experience and for some time C# also but when learned assembly realized how much complex things are at low level languages which one tends to neglect without the knowledge of assembly language. For me the way to learn should be first assembly then C and higher(..call me traditional is you may so... )yemista wrote:Also, once I went back to C and then back to Java, I could really appreciate what they could do and what they are best for after I had some experience with the lower level languages.
Cheers.
- Firestryke31
- Member
- Posts: 550
- Joined: Sat Nov 29, 2008 1:07 pm
- Location: Throw a dart at central Texas
- Contact:
Re: Advice for novice programmers thread
I started programming with TI BASIC (for the TI-83+) but never truly got into programming until I started z80 ASM (also for the TI-83+). Then I went to C++, and working with ASM definitely helped me grasp pointers. I actually learned C++ by working on the GBA. It was great, because anything you did with the graphics hardware was immediately visible, and getting everything set up was just a few lines of code. z80 ASM and GBA C++ are both what make me want to write an OS, because with both, you had complete control, and if you didn't want to deal with an annoying API, you didn't have to because the hardware was right there.
I wouldn't recommend it for a novice programmer though, as not everyone grasps logic with the ease I do (sometimes).
My advice for a novice programmer is this:
If you already have a grasp of the basics of your chosen language, make a game.
Otherwise, learn the basics of your chosen language, then see previous statement.
I wouldn't recommend it for a novice programmer though, as not everyone grasps logic with the ease I do (sometimes).
My advice for a novice programmer is this:
If you already have a grasp of the basics of your chosen language, make a game.
Otherwise, learn the basics of your chosen language, then see previous statement.
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
Re: Advice for novice programmers thread
Well I'm new to these boards and don't have a kernel, OS, or anything to brag about, so with that caveat out of the way, here's my advice
I'm actually going to recommend the exact opposite of the OP. I think as a beginner you should decide what you want to do, pick your language based on that, and then learn it deeply.
The rationale for this is that once you learn something that deeply, the underlying design is more apparent to you than it is if you know it superficially. You'll see the good, the bad, and the why. Understanding the tradeoffs in the design of your language of choice will be invaluable for you, even if you're using other languages.
Don't do something because it 'feels' right. The KISS principle. Lots of people quote it, few do it, and that's a shame.
Think about what you're doing.
Think about how you're doing it.
You wouldn't believe how much time I've seen people waste because they're afraid to waste time. If a script needs to be written to automate something write the damned script. If you find youself spending a lot of time maintaining documentation, project scheduling, etc, stop and think about how to lessen that.
You'll find youself more productive in the long run.
last but not least.
If you're building a system you've never built before, don't think about it, just build the damned thing. You're going to muck it up. You're going to do things you regret. That's what experience is, doing lots of crap you wish you hadn't.
It's more important to jump in, get your feet wet, and learn from the mistakes then it is to not make the mistakes.
And related to this, if you're not struggling, you're not really learning. Set your goals higher.
I'm actually going to recommend the exact opposite of the OP. I think as a beginner you should decide what you want to do, pick your language based on that, and then learn it deeply.
The rationale for this is that once you learn something that deeply, the underlying design is more apparent to you than it is if you know it superficially. You'll see the good, the bad, and the why. Understanding the tradeoffs in the design of your language of choice will be invaluable for you, even if you're using other languages.
quoted because it bears repeating.So generally, while abstractions and reuse are definitely good things, I would first write specific cases, and only when I see myself repeating the same pattern over and over again (sometimes twice is enough), I turn it into an abstraction instead.
Don't do something because it 'feels' right. The KISS principle. Lots of people quote it, few do it, and that's a shame.
Think about what you're doing.
Think about how you're doing it.
You wouldn't believe how much time I've seen people waste because they're afraid to waste time. If a script needs to be written to automate something write the damned script. If you find youself spending a lot of time maintaining documentation, project scheduling, etc, stop and think about how to lessen that.
You'll find youself more productive in the long run.
last but not least.
If you're building a system you've never built before, don't think about it, just build the damned thing. You're going to muck it up. You're going to do things you regret. That's what experience is, doing lots of crap you wish you hadn't.
It's more important to jump in, get your feet wet, and learn from the mistakes then it is to not make the mistakes.
And related to this, if you're not struggling, you're not really learning. Set your goals higher.