USUALLY, yes. you'll find the guys who were programming back on the 8088s who can't break their old habit even on quad cores though. sometimes that's a good thing.midir wrote:[*] Elegant code that's easy to understand is better than confusing code that runs faster. It just is.
Advice for novice programmers thread
Re: Advice for novice programmers thread
Re: Advice for novice programmers thread
Why?miker00lz wrote:USUALLY, yes. you'll find the guys who were programming back on the 8088s who can't break their old habit even on quad cores though. sometimes that's a good thing.midir wrote:[*] Elegant code that's easy to understand is better than confusing code that runs faster. It just is.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Advice for novice programmers thread
Can you understand insertion sort in a moment's notice if you happen to come across that code? Can you do the same for heapsort? Which of the two would you rather use in a tight loop?
Re: Advice for novice programmers thread
Measure. Optimize. Measure.
Until I have proof that this "tight loop" is actually affecting my performance significantly, and I have proof that whatever sort algorithm I programmed is solving that problem, a call to qsort() beats both options hands-down because it replaces the algorithm with a standard library call.
Until I have proof that this "tight loop" is actually affecting my performance significantly, and I have proof that whatever sort algorithm I programmed is solving that problem, a call to qsort() beats both options hands-down because it replaces the algorithm with a standard library call.
Every good solution is obvious once you've found it.
Re: Advice for novice programmers thread
Before you call yourself a complete programmer you must at least learn a good amount of Common Lisp. Now Common Lisp might never get you job but it will make you think differently about programming forever. Once you learn some Lisp at reasonably well it will give you a look at programs should be written and you WILL make better programs because of it.
Daniel
Daniel
Garbage collection is only for programmers that make garbage and can't clean up for themselves.
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: Advice for novice programmers thread
hall123 wrote:Before you call yourself a complete programmer you must at least learn a good amount of Common Lisp. Now Common Lisp might never get you job but it will make you think differently about programming forever. Once you learn some Lisp at reasonably well it will give you a look at programs should be written and you WILL make better programs because of it.
I agree with you, but you have to admit, it's ironic that you're advocating the one type of language (functional) that really needs garbage collection...hall123's signature wrote:Garbage collection is only for programmers that make garbage and can't clean up for themselves.
Re: Advice for novice programmers thread
Well i learnt HTML, QBASIC and then C and java and now assembly.
Walking my way in making my OS
Re: Advice for novice programmers thread
And brought up a dead thread!hegde1997 wrote:Well i learnt HTML, QBASIC and then C and java and now assembly.
Re: Advice for novice programmers thread
While everything listed in the OP seems to outline an effective strategy for learning language syntax,
And familiarizing yourself with programming as a whole, it seems to neglect a couple of important points.
Firstly programming theory. Severely underrated, but highly necessary.
History of programming languages and compilers is something that will never hurt you if you have.
And secondly, program architecture and design (including design patterns).
I remember my early code used to be jumbles of general messiness and circular dependencies.
These may have been mentioned,
But I really don't want to read through 9 pages of old posts.
Also, it's not thread necro-philia/mancy.
It's been less than 2 weeks.
And familiarizing yourself with programming as a whole, it seems to neglect a couple of important points.
Firstly programming theory. Severely underrated, but highly necessary.
History of programming languages and compilers is something that will never hurt you if you have.
And secondly, program architecture and design (including design patterns).
I remember my early code used to be jumbles of general messiness and circular dependencies.
These may have been mentioned,
But I really don't want to read through 9 pages of old posts.
Also, it's not thread necro-philia/mancy.
It's been less than 2 weeks.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Advice for novice programmers thread
Look at the years.
It has most certainly been more than two weeks.
It has most certainly been more than two weeks.
Re: Advice for novice programmers thread
Debugging code is at least twice as hard as writing it in the first place.
So if you end up writing the most clever bit of code you possibly can,
By definition, you must be at least twice as clever to debug it.
So if you end up writing the most clever bit of code you possibly can,
By definition, you must be at least twice as clever to debug it.
- AndrewAPrice
- Member
- Posts: 2298
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: Advice for novice programmers thread
I would say to try to expose yourself to as many programming paradigms as you can. Learn what agent-based programming, class-based programming, event-based programming, functional programming, prototype-based programming is.hall123 wrote:Before you call yourself a complete programmer you must at least learn a good amount of Common Lisp. Now Common Lisp might never get you job but it will make you think differently about programming forever. Once you learn some Lisp at reasonably well it will give you a look at programs should be written and you WILL make better programs because of it.
Daniel
Learn parallelism - both thread-based and task-based.
Not every language makes every paradigm intuitive to use, so try to use different languages so you get an idea of what closures, polymorphism, anonymous functions, templates are really like.
I'm fortunate to have a job where I'm exposed to large projects that range from Node.js to C++ to Perl to PL/SQL.
Understand that everyone is an expert on something else - while one programmer may be an expert on cryptography, another may be an expert on compiler technology, network architecture, graphics rendering, memory management, databases, or artificial intelligence. Do not disrespect someone because they make a simple mistake or ask what you think is a dumb question - they may be experts and highly respected in their own fields.
My OS is Perception.
Re: Advice for novice programmers thread
It's all about logic. Everything else is just details forced into your head space by ephemeral implementation technologies. I say this as someone who is currently implementing a datapath for an algorithm that is thousands of years old.
Every universe of discourse has its logical structure --- S. K. Langer.
Re: Advice for novice programmers thread
Lots of different opinions in this thread.
I hope by my post count I didn't bug this forum by costant spamming.
Let me begin. I'm a novice. I admit I don't know a lot about programming except for the basic theory like variable, loops, if...then. I know this is a very advanced forum.
I would love to enjoy programming only for the sake of it. My one problem I have is that I lack some kind of inspiration. It's perpetually hard to move forward with anything. It's like a mental paralysis. I also have Asperger's Syndrome, this makes it so complicated. It's like I need an outline for everything to keep me on track.
So tell me am I lost or can I still learn?
I hope by my post count I didn't bug this forum by costant spamming.
Let me begin. I'm a novice. I admit I don't know a lot about programming except for the basic theory like variable, loops, if...then. I know this is a very advanced forum.
I would love to enjoy programming only for the sake of it. My one problem I have is that I lack some kind of inspiration. It's perpetually hard to move forward with anything. It's like a mental paralysis. I also have Asperger's Syndrome, this makes it so complicated. It's like I need an outline for everything to keep me on track.
So tell me am I lost or can I still learn?
Re: Advice for novice programmers thread
If your memory still serves you somehow and you want to learn - you are not lost.SeanMc wrote:So tell me am I lost or can I still learn?
Heh, most people who are considered to be healthy also can't make much progress without making outline for their work.It's like I need an outline for everything to keep me on track.
Btw, it looks like a bit of necroposting.