![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#21 |
|
Professional Programmer
|
Dawai compared programming to language, while Jabo compared it to mathematics, which I find to be more accurate. A computer is basically a calculator with logic, and is highly math based.
Also, language evolves into completely different languages. I see new programming languages as a stack. Assembly is at the bottom, performing the most basic functions, while higher languages are accomplishing what many lines of assembly with one line. So I think it's beneficial to learn lower languages, because it can help you understand what is going on beneath the code of higher langauges.
__________________
Perhaps I should have a sticky topic for all of the times I "return" to this forum instead of a new one every time. |
|
|
|
|
|
#22 | |
|
Not a user?
Join Date: Sep 2007
Posts: 272
Rep Power: 2
![]() |
Quote:
Also, debugging programs would be easier with an understanding of this. Have you ever broke a program and it would be in the middle of a routine that you didn't write in your program? When I saw this the first time, I'm asking myself where the heck did this come from? The programming degrees today are really a joke since they don't show you this is what the compiler and linker do. In my associates degree, they spend a total of one week on teaching us any debugging, and another 2 weeks on error handling; the 2 most important skills in programming, arguably. Should I be fortunate enough to get a job in the industry, I will be horribly handicapped if I don't take the time to figure some of this out before hand. And right now, I just can't find the time to sit down and do it between a baby on the way very shortly and working 6 days a week, 3 of those 12 hour days. |
|
|
|
|
|
|
#23 |
|
Some C++ guy
Join Date: Aug 2007
Posts: 14
Rep Power: 0
![]() |
Hmm... I've been learning newer languages these days, and C#, for example, is quite easier and looks "safer" than what I have experienced with C and Assembly. But then, if we all move on to the easier means of programming, then we might forget the basis of everything that made it easier. I mean, my C and Basic (I know, haha) programming backgrounds made it easier for me to get into Java. Perhaps because of the dangers of the older programming languages, I am able to appreciate the improvements on later languages, rather than complaining "how difficult programming is." I mean, I've heard my classmates complain. Maybe not everyone is made to be a programmer, and I consider myself lucky haha.
|
|
|
|
|
|
#24 |
|
Battle Programmer
Join Date: Feb 2006
Location: Bellevue, WA, USA
Posts: 763
Rep Power: 3
![]() |
I have to disagree with this. A good programmer doesn't need to know the history of programming, or how language X works. What they should know is how a computer works (so maybe assembly is a keeper, or at least a level of understanding how it works), but otherwise knowing how to use some subset of languages effectively should absolutely not be a pre-req for being a good programmer in another "newer" language.
__________________
<insert disclaimer here> <insert shameless plug for Visual Studio here> |
|
|
|
|
|
#25 | |
|
Hobbyist Programmer
|
Quote:
I'm a PHP programmer and there is a very good reason why I never used PHP's OOP features. It's like shoving a round peg into a square hole. That's an analogy I use a lot when describing OOP. It just seems like as a developer, one spends more time trying to figure out how to solve a problem "the OOP way" rather than focusing on code quality or optimization. OOP sounds good in theory when you hear people talk about objects with their own set of variables and methods, but in practice it is nearly always easier to think of a solution in procedural programming. I read several books on C++ and quickly realized how complex of a language it was. There are way too many features. You have to force a problem to fit into the OOP methodology. The one or two obvious ways of solving a problem in procedural programming yield a dozen or so ways of going about it when thinking in objects. Tracking down code is a lot harder. Although a class can provide a good interface and is supposed to be a layer of abstraction, it doesn't work that way in the real world. You almost always need to alter the code of that class to make changes to your program and I find in some ways that OOP makes it like spaghetti code with the way you have to jump around in order to figure out how all the objects are interfacing with each other and don't even get me started on inheritance; holy crap does that make life difficult. Plus it really makes you question how solid of a language it is if writing a compiler for it is on the magnitude of climbing Mount Everest. There are definitely going to be performance issues and compiler bugs when converting such an abstract concept into machine code. C is such a clean language. It is my favorite at the moment. |
|
|
|
|
|
|
#26 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
I don't worry a lot about inheritance, since no one saw fit to leave me a fortune. On the other hand, I have to disagree with you about OOP. Perhaps some wannabe gurus have misled you.
Objects are objects. Procedures are procedures. Your lawn is an object, a particular instantiation of a generic lawn. Your lawnmower is an object, a particular instantiation of a generic lawnmower with its own subtly different instantiations of carburetors, throttle linkages, and kill-switches. Mowing your lawn is a procedure. Maybe it's even a method of the lawn, but it shouldn't be a method of the mower. It might not even be a good method for the lawn object, because you never know who left a freakin' skateboard right in the middle of that sucker. I would suggest that if you have found OOP to be a detriment, then you have had the wool pulled over your eyes by a supremely ignorant someone. Perhaps you should regroup.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#27 | |
|
Battle Programmer
Join Date: Feb 2006
Location: Bellevue, WA, USA
Posts: 763
Rep Power: 3
![]() |
Quote:
__________________
<insert disclaimer here> <insert shameless plug for Visual Studio here> |
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Should I bother learning new languages? | Druid | Coder's Corner Lounge | 6 | Mar 30th, 2007 3:50 AM |
| Functional Programming Languages | ZenOswyn | Coder's Corner Lounge | 7 | Dec 3rd, 2006 3:05 PM |
| how many types of languages are there? | linuxpimp20 | Other Programming Languages | 1 | Sep 7th, 2005 4:53 PM |