C++ Programmers unite!
-
Rajesh R Subramanian wrote:
You have to draw a line somewhere and the line is drawn at C++
I thought lines were drawn with Logo. :rolleyes:
Dad always thought laughter was the best medicine, which I guess is why several of us died of tuberculosis. I can picture in my mind a world without war, a world without hate. And I can picture us attacking that world, because they'd never expect it.
Now that's one I have not thought of for a Long Time May your sprites fly :-D
-
I mis-wrote my original post - you learned machine architecture I believe (did they use RISC processors as examples? :)), but you should also learn CPU micro-architecture. Not just all the parts of a CPU, but how they work together. How out-of-order execution works, the Decode-Execute-Dipatch cycle, how to cause and prevent pipeline and cache stalls, etc. All those things help greatly when writing multithreaded/multicore code so you can prevent each one of your threads from effectively stepping on each other. Unless you do know all that already, then nevermind! :) Peace!
-=- James
Please rate this message - let me know if I helped or not! * * *
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
See DeleteFXPFilesJames R. Twine wrote:
but you should also learn CPU micro-architecture. Unless you do know all that already, then nevermind!
If you truly want to understand, don't just learn it, build the friggin' CPU and microcode decoder from parts from scratch. Make a bit do some work! :cool:
Gary
-
Simon Stevens wrote:
Might take the chance to learn some DirectX at the same time
When you do, don't ignore the quaternions! they are worth the time to master, 2/3rds the math, 1/10th on a SLERP animation. It may not help you make a web app, but it is an amazing jump when your CPU line goes from 100% to 20% and you go: :doh: now I understand what all this hootodo is about performance!
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
El Corazon wrote:
quaternions
Yeah, I remember coming across them several years ago during a uni project. I'm getting all distracted now. I've got to concentrate on this scheduling app ( :zzz: ) I'm writing and stop thinking about 3d maths. :(
Simon
-
Pah! I learned to program via ATARI Basic: poking the memory to change the OS to make it do what I want - REAL basic programming ;) I learned professionally in C on UNIX. Just an emacs editor over a telnet session. No nice IDE, no Windows and definitely none of this objects marlarkey that C++ developers get such an ego over. Admittedly I now use C#.
I'm largely language agnostic
After a while they all bug me :doh:
MidwestLimey wrote:
Pah! I learned to program via ATARI Basic: poking the memory to change the OS to make it do what I want - REAL basic programming
Puke. You took the easy way out w/BASIC. Write in ASM and machine code, including self-modifying code for speed and compactness. Then you'll know what REAL programming is all about. C on UNIX. Yep, did that. Those were great times. You could actually get work done instead of searching a manual every time you wanted to do something new. You'll remember the TI Silent 700? Let you work from home, connecting over the phone line, of all things at 300 or high-speed 1200 baud. :((
Gary
-
El Corazon wrote:
quaternions
Yeah, I remember coming across them several years ago during a uni project. I'm getting all distracted now. I've got to concentrate on this scheduling app ( :zzz: ) I'm writing and stop thinking about 3d maths. :(
Simon
Simon Stevens wrote:
I'm writing and stop thinking about 3d maths.
good because quaternions are 4D math! ;P :laugh:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
MidwestLimey wrote:
Pah! I learned to program via ATARI Basic: poking the memory to change the OS to make it do what I want - REAL basic programming
Puke. You took the easy way out w/BASIC. Write in ASM and machine code, including self-modifying code for speed and compactness. Then you'll know what REAL programming is all about. C on UNIX. Yep, did that. Those were great times. You could actually get work done instead of searching a manual every time you wanted to do something new. You'll remember the TI Silent 700? Let you work from home, connecting over the phone line, of all things at 300 or high-speed 1200 baud. :((
Gary
ghle wrote:
Write in ASM and machine code, including self-modifying code for speed and compactness. Then you'll know what REAL programming is all about.
Pah! keep your self modifying code and create your ASM punch cards by staring at them hard enough and scaring the holes out of them!!
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
No, it is reflective of
some
programmers, not all programmers let massive memory leaks and sub-standard implementations get off their their desks. And the programmers like that... well, they F***
it up for the rest. There is also the problem where business-side people forget that nine women cannot make a baby in one month - some things just take time to get done right. High-quality code is one of them, and it is worth waiting for. Peace!-=- James
Please rate this message - let me know if I helped or not! * * *
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
See DeleteFXPFiles:-D
'With hurricanes, tornados, fires out of control,mud slides, flooding, severe thunderstorms tearing up the country! from one end to another, and with the threat of bird flu and terrorist attacks, are we sure this is a good time to take God out of the Pledge of Allegiance?' - Jay Leno
-
ghle wrote:
Write in ASM and machine code, including self-modifying code for speed and compactness. Then you'll know what REAL programming is all about.
Pah! keep your self modifying code and create your ASM punch cards by staring at them hard enough and scaring the holes out of them!!
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
Pah! I was so poor I used to have to use my hand as a punch card!
I'm largely language agnostic
After a while they all bug me :doh:
-
ghle wrote:
Write in ASM and machine code, including self-modifying code for speed and compactness. Then you'll know what REAL programming is all about.
Pah! keep your self modifying code and create your ASM punch cards by staring at them hard enough and scaring the holes out of them!!
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
El Corazon wrote:
create your ASM punch cards by staring at them hard enough and scaring the holes out of them
Little pissed off people more than those punch-card chads at a football game! :-O Hey, that self-modifying code was used to cut the wings of (not off) the Boeing aircraft that you likely toy with. :)
Gary
-
Simon Stevens wrote:
I'm writing and stop thinking about 3d maths.
good because quaternions are 4D math! ;P :laugh:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
El Corazon wrote:
quaternions are 4D math!
All the more reason to stop thinking about them :)
Simon
-
Pah! I was so poor I used to have to use my hand as a punch card!
I'm largely language agnostic
After a while they all bug me :doh:
-
And assembler is a result of zeros and ones if you didn't know. You have to draw a line somewhere and the line is drawn at C++. Unfortunately it doesn't matter if you agree or not. I say this inspite of working on .NET for about a year now.
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
Rajesh R Subramanian wrote:
And assembler is a result of zeros and ones if you didn't know. You have to draw a line somewhere and the line is drawn at C++.
Well, there are actually high and low voltage states that we pretend are 0/1 or true/false or on/off or whatever. But yeah, there are always more turtles if you look hard enough. ;) Frankly though, i do believe that any C++ coder worth their salt should at least be able to read and understand the assembly code that their compiler spits out. Abstractions are best when you know what you're abstracting.
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
-
Chris Maunder wrote:
"My compiler compiled your compiler"
5 For that!
Chris Maunder wrote:
And to me that says it all. C++ is still like driving a manual (sitckshift) car versus an automatic.
I remember I said this, may be a year ago: "Real men drive manual transmission". .NET is undeniably good for developing business applications. But most of the .NET devs ignore (or even don't know) the fact that there are other languages and every language has its own applicability.
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
Rajesh R Subramanian wrote:
most of the .NET devs ignore (or even don't know) the fact that there are other languages and every language has its own applicability.
Are you sure? I grew up with C++ and have done mostly C# because of business requirements needing quick go-to-market products...
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
I don't believe it. Someone else who thinks Linus is as much of a jerk as Grady Booch.
Software Zen:
delete this;
Gary Wheeler wrote:
Someone else who thinks Linus is as much of a jerk as Grady Booch.
Oh, easy now. Blowhards they may be, but i've yet to be forced into cooperating with someone's doomed attempt to shoehorn a complex, legacy process into a set of "Linux Modeling Language" definitions and diagrams. So yeah, for me Booch wins big on the jerk meter and probably still will long after he's dead and burried.
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
-
MidwestLimey wrote:
Pah! I was so poor I used to have to use my hand as a punch card!
Ouch. :(( What'd you use for the hole punch?
Gary
ghle wrote:
What'd you use for the hole punch?
a rusty nail. ;)
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
So there's all this talk of why C# is better than VB and why Ruby on Rails is just the peachiest thing ever, except that PERL is way hard core and blah blah blah. I found an old C++ T-shirt that I love: "My compiler compiled your compiler" And to me that says it all. C++ is still like driving a manual (sitckshift) car versus an automatic. C++ still kicks any .NET language's bum in terms of speed. C++ still allows you far more annoying and impressive errors than most other modern languages. So C++ devs: Tell us why C++ is just plain old better.
cheers, Chris Maunder
CodeProject.com : C++ MVP
I've still got the one you gave me when we bumped into each other at some conference or another (memory is hazy - alcohol might have been involved). Among my favorites! :-D
Christopher Duncan Author of The Career Programmer and Unite the Tribes Coming soon: Got a career question? Ask the Attack Chihuahua! www.PracticalUSA.com
-
El Corazon wrote:
create your ASM punch cards by staring at them hard enough and scaring the holes out of them
Little pissed off people more than those punch-card chads at a football game! :-O Hey, that self-modifying code was used to cut the wings of (not off) the Boeing aircraft that you likely toy with. :)
Gary
ghle wrote:
was used to cut the wings of (not off) the Boeing aircraft that you likely toy with.
yup, we cut the wings off, if flies much better now. :laugh: :laugh:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
ghle wrote:
was used to cut the wings of (not off) the Boeing aircraft that you likely toy with.
yup, we cut the wings off, if flies much better now. :laugh: :laugh:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
What a trivial example, you don't have to split anything, just install Oracle 200MB Client Install and do some work with it. Then try against OLE DB, even via ADO.NET. Anyway, you want to talk I/O, you better get MS to ship managed IIS, and http.sys in next service pack, sqlserver.exe and ntfs too, oh and managed mscoree and the entire i386 directory. All I/O is native, by definition, it ends up native (you know, the thing that exists with or without managed TM LTD COM), and most of it out there is untyped.
The comparison very well illustrates that:
- C++ isn't faster by default
- The cost of acquiring higher performance might kill the project
I don't think these thingschange for larger projects. Especially for them, the sane question is "how much performance do we need?", rather than "how much performance can we get?" You can write crappy code in C++ and on .NET, the deciding question is: which one is better with average programmers and limited ressources. Also, I wouldn't underestimate the optimization potential of IL. Already adjusting "hot" allocations to the CPU cache is a pretty smart move that C++ simply can't compete with (except with structural changes to the source code). Throw in target platform specific optimizations and runtime libraries (say, parallelized implementations of standard algorithms, and using a specific optimization of next years CPU directly targeted at .NET applications), and they get the future for free. "Enable Windows Update and WHAM! your C# application just got faster!" Yes, that's a marketing dream right now, but that's what we are up against.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
So there's all this talk of why C# is better than VB and why Ruby on Rails is just the peachiest thing ever, except that PERL is way hard core and blah blah blah. I found an old C++ T-shirt that I love: "My compiler compiled your compiler" And to me that says it all. C++ is still like driving a manual (sitckshift) car versus an automatic. C++ still kicks any .NET language's bum in terms of speed. C++ still allows you far more annoying and impressive errors than most other modern languages. So C++ devs: Tell us why C++ is just plain old better.
cheers, Chris Maunder
CodeProject.com : C++ MVP
A few weeks ago, I was wearing that shirt at a team meeting. One of the high-up dev managers walked by and told me she loved that slogan. :cool:
--Mike-- Visual C++ MVP :cool: LINKS~! PimpFish | CP SearchBar v3.0 | C++ Forum FAQ "That's what's great about doing user interface work. No matter what you do, people will say that what you did was idiotic." -- Raymond Chen