operating systems: mac os 10.6, debian 5.0, windows 7
editor: back to emacs because it's more awesomer!!
version control: git
website: http://0xff.ath.cx/~as/
Programming language means features. Assembly doesn't have features - it does exactly what you tell it to do and nothing more nor less. You write one instruction - it is one machine code instruction after linking. Assembly is a human-readable form of machine code with no modifications (only storing used registers on the stack). It changes with the processors, it can't be developed as a language. Macros and other "features" sometimes used in Assembly code are totally assembler-specific stuff, not part of assembly.
Assembly can't be compared as a language. It is not portable because it is basically machine code, which is different for most devices.
It's the same thing what we've done in C, just looks a little different.Originally Posted by Rashakil Fol
What you think is important IS important. People rely too much on the syntax.Originally Posted by brewbuck
You got that right.Originally Posted by Mario. F
I never wanted to say anything is better. My point is that OOP is not The God, it's just a form of syntax. If you like the syntax, go ahead, use it. But worshipping it is just silly. It is just another form of syntax like any other. The only thing that really matters is the programmer (of course I like to remind once in a while that performance of the program is important too), other things affect very slightly. Code is not better or worse depending on the language's syntax. Programmer is not better or worse depending on the syntax of the language (s)he uses mostly.
Have fun.
Last edited by maxorator; 08-20-2007 at 04:12 AM.
"The Internet treats censorship as damage and routes around it." - John Gilmore
before you said so, no one was claiming it was "The God", no one important that is. Not even Bjarn Says so. Though he does find it an improvement on some of the antiquated constructs of C.
Also getting upset because someone capitalizes it is ridiculous.
I just noticed that the concept of OOP is frequently considered too important. It isn't. Programmers are important. The syntax doesn't really matter.
"The Internet treats censorship as damage and routes around it." - John Gilmore
OOP is not a syntax. It's a programming paradigm (http://en.wikipedia.org/wiki/Object-...ed_programming and http://en.wikipedia.org/wiki/Programming_paradigm)
As a concept it is responsible for major changes in the industry and one of the key players of most of what you use today as far as software is concerned. The problem with OOP is that those you criticize are those who tend to bring religion into these things.
The fact is that OOP doesn't need champions of the cause. It speaks for itself when used on those situations where it makes sense to use and it has nothing to say to its detractors either, because it doesn't pretend to be the solution to Life the Universe and Everything.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
I always learned OOP as more than just syntax.
lol, rely on syntax, that would be every programming language in existence... even assembly. technically, in the most fundamental meaning of the term, even machine language probably could be said to have syntax.
http://en.wikipedia.org/wiki/Syntax
we do rely on syntax, but saying we rely too much on the syntax is like saying, "you worry too much about grammar."
yea well you sort of have to in -any- context to communicate anything in understandable terms.
Last edited by simpleid; 08-21-2007 at 07:51 AM.
OOP has many advantages over Procedural Programming.
Some keys to OOP programming design:
1) Encapsulation. (Private members)
2) Inheritance. (Derived classes)
3) Polymorphism. (Virtual functions)
These 3 things allow programmers to write code that is easier to understand and maintain and also modify by adding new features on top of what already exists.
Procedural programming has gone by the wayside these days, because it has been shown to lead to hard to understand, unmaintainable, and unmodifiable code.
That's what they tell me, anyways.
Specifically, C++ has a lot of great features such as the powerful STL and templates, while still allowing low level things like pointers and other things from C.
Personally, I think C++ is the best OOP language because of these reasons. I did some Java, but I didn't care for the increased class overhead and the lack of pointers (I am too used to straight C/C++). The problem with Java is you HAVE to make a class for EVERYTHING. Annoying, IMO. OTOH, Java has a GREAT built-in GUI (swing/awt) and toolkits for just about anything you'd ever want to do.
For testing algorithms and data structures, I like straight C w/o the class overhead. It's gonna be fast, simple, and reliable, w/o dealing with OOP syntax problems that will occur. Then, once my base code is tested, I can easily move that code directly into a class framework with some accessor functions and I gain the advantages of an OOP designed program.
Last edited by MacNilly; 08-22-2007 at 04:56 PM.
Hmm, I'm going to have to strongly disagree with this.
First, OOP and "C-Style" (Procedural programming) are quite different. While OOP should not be worshipped (nothing should be worshipped. imo), it definately WAS something revolutionary when it was introduced, because it solved MANY problems that programmers were facing with large code bases back in the day.
In a way, yes. We could also say the same about C to some assembler language. Can anyone say that C was not a revolutionary step from assembly?It's just an alternative way with some extra features
Machine code is human readable. You just have to know HEX like the back of your hand and have a big reference manual next to you.
Yes, assembly IS a programming language. It has it's own syntax wherein one symbol means one thing, and another symbol means another thing, ect.. How is that any different than any other programming language?
I disagree, but only with the last point. There is no need to write a C compiler in assembly for every architecture. Once you have a C compiler written in C for an architecture A and it runs there, you can write a code generator for another architecture B, still in C, and run it on architecture A to compile the compiler and code generator so that they run on architecture B. Voila, you have just used a cross-compiler to bootstrap the B architecture, without a bit of assembly.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law