This is the problem with these animal rights nutjobs. They are empathizing with the animals.
Yup.
They assume that the rest of us also empathize with the animals. This incorrect assumption leads to the entirely reasonable (but wrong) conclusion that people who kill animals are a danger to society!
It's not acceptable to rip wings off flys and let them die slowly.
Sure it is. It's germy and mostly pointless of course, but certainly acceptable. Hey, whatever floats your boat!
Probably everybody does it at least a few times as a kid, and then it gets boring. The curiosity is satisfied, you have better things to do, and you move on. It's like burning ants, flushing fish, hitting snakes with the lawnmower, cutting open frogs, slingshotting squirrels, etc.
Animal rights people share a lot in common with so-called animal torturers: the tendancy to personify animals. Animal rights people tend to assume that somebody mutilating an animal must be a sadistic sicko who is a danger to society. That may be the case if the person also personifies the animals, but not everyone makes that mistake. It's also possible to view the animal as no different from a rock or plant. There can be no "torture" to be disturbing or (if evil) enjoyable. I can't torture a rock, can I? No, not in a meaningful way, because it isn't a human.
Now your developers must be good at both Python and C++. Note that I don't mean merely "able", because any decent hacker can pick up a new language in two weeks or less. Shallow ability won't really do the job. Getting good at a language takes years of experience.
At every point in time, the rewrite will seem like a much more task than fixing up the Python. You think things like: "just a little bit of optimization and this is going to be acceptable". It's not easy to commit to the rewrite, even if you know you need it.
BTW, completely overhauling the design of a project written entirely in C isn't so bad. You don't get the ravioli classes problem that most C++ code suffers from.
Nevertheless, nobody has an obligation to pursue a particular level of income just because you paid tax.
The government can force many things upon us:
* pay tax
* attend school (to make one more productive)
* not smoke pot (avoiding some productivity loss)
It all goes together as long as we are stuck sharing an economy. It's a given that we will be stuck sharing an economy, and even paying for a common defense.
Don't like it? Find your own planet.
Be glad you don't get punished for eating too much, or for so many other minor things that may make you an economic drain for your country.
I'm not kidding about eating too much. Various places have seriously proposed junk food taxes. This is because of the medicare/medicaid situation. When the state is paying to take care of your health, ordering compliance with proper health habits is a logical consequence.
They don't want public transit because a car-based community is a way to discourage the lower classes from moving into the community. With them would come crime, a drop in property value, and so on.
While this issue is often looked upon in a racial light, economic discrimination is actually a far more accurate filter. Few would object to living near people like Clarence Thomas, Prince, or (once retired) Obama.
We built our cities with the assumption that transportation would be cheap.
If fuel prices rise, everybody else wins relative to America. They can tolerate high prices. Americans can't. High prices collapse the American economy for good.
US culture has taught people that standard of living == quarter acre in the middle of nowhere. And that's crap.
That's definitely crap. If your neighbor has a McMansion on a lot that small, there won't be room enough to have forest between the houses.
Your neighbor can listen in on you. You'd better hope you **never** have an argument with your spouse or kids.
You will listen in on him, like it or not. You get to hear him cranking Britney Spears to 11. Your kids get to hear him swear, in graphic detail. You wake to the sound of his Harley or H2.
You might smell his barbeque, pool, cigar, fertilizer, or dog shit. You could get hit by his fireworks. His cat will poop in your child's sandbox.
Maybe you can even see the ugly bastard sometimes, or at least his house.
move to a metropolitan area or some other planned community where you have everything you need within walking distance
Planned communities are much of the problem. I know a city that is 100% home owner association for housing by city ordinance/bylaw/whatever. All non-housing stuff (which is very little indeed) is deliberately forced to be far away from the housing. Most everyone must commute to other cities to work.
The people there could move out, sure, but then other people would move in. The city has been built. There is no remotely realistic way to fix that city, even if the residents were to decide that it should be fixed. (and of course they love their city exactly the way it is) Properties are tied up in draconian deed restrictions. Fixing such a city would probably require heavy-handed measures involving eminent domain and bulldozers.
His argument is, here in north america, we made the huge mistake of designing communities such that a vehicle was a requirement for living. In particular, the suburban and ex-urban phenomenon has left your average American completely incapable of living without personal long-distance transportation.
Yep. The ugly truth is that this was triggered by desegregation. Once you could no longer enforce a little island within the city, anybody with the means to live elsewhere did exactly that.
And this phenomenon is coupled with a truly massive underfunding of public transportation [...] The solution is to build communities where cars *aren't necessary in the first place*.
Uh, well, bus stops devalue your property. This is because they make it possible for people without cars to live in your community. People who can't afford cars are people who make a community less desirable. You'll get more littering, muggings, graffiti, prostitution, meth labs... You want to raise children in a place like that?
This is related to some of the reasons we don't even like to ride busses. We might have to sit next to a smelly bum, a pedophile, or worse. Remember that guy in Canada who chopped of the head of the guy sitting next to him. We want isolation from that class of people.
You don't hear me harping on dump trucks, bulldozers, and semis do you? No. Unless 90% of them were used when absolutely not necessary, and then you would. Get it?
The whole point of an SUV is to intimidate the other drivers (so they let you go first) and let you look down/over them.
I like the way you think, particularly regarding the bulldozer. That'll be my next ride. I especially like those up-armored ones that are designed for removing Palestinian houses. Even the Lincoln Navigator and Chevy Suburban drivers will cower in fear, allowing me to visit Starbucks in safety and security.
Your arguments are precisely the reason some people don't want government controlled health care or government controlled education, etc. If those programs allow you to make demands on my labour and my recreation time, without any opportunity for me to opt out then it leads naturally to a slave state. The problem is not the stoner, it is the government that forces you to live as a collective rather than as an individual.
Right. Such is modern life in most any country. (certain tax-free countries fully funded by oil revenue don't have this issue)
People demand their pork. Politicians provide it. News at 11.
I'd gladly ditch most of it, but certainly not all. The resulting elimination of government (including military) would leave a power vaccuum that some asshole dictator would quickly fill.
you're not addressing the agony that goes with things like tracking down memory leaks and playing with pointers and all the other fun stuff you get to do with C
I guess I enjoy that. I also do assembly and sometimes minor hardware stuff, so...:-)
For jobs that require low-level languages, job expectations may be different. Management usually understands that the work will proceed as fast as it does. I'm not expected to refactor overnight.
Memory leaks and pointer problems are usually easy to find on a Linux platform. Compile with debug symbols, then reproduce the bug under valgrind. Valgrind is like magic. It even tells you if you pass uninitialized data to an IO function or if your code makes a decision (an "if" or loop condition) based on uninitialized data. Also remember that gcc does not enable warnings by default, the -Wall option doesn't enable all warnings, and many warnings require optimization enabled for them to actually work.
Of course, running on bare metal is even more fun than running on Linux. You get to debug using JTAG, a logic analyser, a single LED, or characters that you write to a serial port.
The best is when your software controls something dangerous, or at least expensive. There is a certain thrill in knowing that a simple typo could cause a giant factory robot knock a roof support loose. I've done stuff where bugs could expose hospital patients to needless X-rays and stuff where bugs could leave military personel without sensors or defensive countermeasures.
You signed your name on the dotted line? You live up to that contract. You breach? You pay the penalty.
Consumer contracts are written by teams of bright well-educated lawyers who commonly bill $200 to $700 per lawyer per hour.
Consumers commonly make $10 per hour and are over their heads in debt. About half of them have below-average intelligence. About 5/6 of them are not truly literate even for regular newspaper-like text, never mind a legal document. Consumers are given one-sided contracts with no reasonable alternative. There is no practical opportunity (time) or financial ability to seek the advice of counsel, and no alternative provider of services.
This is a fundamentally cruel situation. Even as arrogant and elitist as I am, I can see that this is harmful to society. It encourages contempt for our legal system, general distrust, and a feeling of unfairness. All of that encourages corruption, which of course hurts everybody.
He doesn't have the option to declare that the emergency services (which I help pay for) should not scrape him off of a highway. He doesn't have the option to declare that the fire department (which I help pay for) should not put out the flames when his pot catches his house on fire. He doesn't have the option to declare that the police (which I help pay for) should not protect him from his dealer.
I don't have the option to exclude him from these services, and I don't have the option to avoid paying to cover him. When he doesn't pay his fair share, I pay more.
What's so criminal about smoking a bowl in the privacy of my own home, zoning out in my recliner and vegging out on TV after snacking on everything in my fridge? Who gets hurt?
No man is an island, especially in a modern country.
I need you to be as productive as possible, because I share an economy with you. There are taxed to be paid, work to be done, etc.
My taxes helped pay for your education. That's a crummy investment if you turn into a paranoid rambling pothead.
Another thing I'm paying for is the cost of your health problems. When you abuse the emergency room and fail to pay, the costs get passed on to people like me.
I tend to not mention it, but yeah I use joe now. I switched from emacs because my Turbo Pascal origins were calling to me. We're not alone. Alan Cox (the UK Linux hacker) uses joe.
Recent versions of joe will do syntax coloring. Most Linux distributions enable it by default. The backtick problem is fixed too, so you can now paste a shell script into joe and not have it mangled.
For avoiding bugs, I suggest using valgrind (excellent, though C++ names get crazy complicated when printed out in full) and lots of compiler warning options. Most beginners use neither, and suffer horribly as a result. Be sure to compile with either -O2 or -Os (letter "O") because many warnings depend on analysis done by the optimizer.
Don't forget that emacs is an IDE. It integrates everything: debugger, builds, version control, and even a console. Annoying editing tasks can often be scripted on-the-fly via the built-in elisp programming language.
In case you have vi experience, emacs can do that too.
you just need to make sure the caller has accurately represented their buffer length
A typical error is to pass the size of the wrong buffer. Think "sizeof src" and you'll get the idea. Another typical error is to pass the size of the whole buffer, but a pointer that is beyond the beginning of the buffer.
a lot of negativity about the TR, but not any specific criticisms
Proper error handling is not a generic problem. Truncation has been demonstrated to cause security problems. Throwing an exception or raising a signal has been demonstrated to cause security problems. The idea that proper error handling can be granted simply by use of particular functions is quite dangerous; security is simply not that easy.
If you have any clue about economics, you know that we do things based on wants (emotion) rather than needs. You also know about externalities, the time value of money, time-based discounting of value, the tragedy of the commons, and so on.
For example, suppose that human-caused climate change is scientifically valid. Economics doesn't prevent us from burning coal and oil like crazy, even if that ultimately kills us all. By your logic, society needs the luxury of burning coal and oil more than it needs a survivable climate!
For example, many places have been deforested for short-term foolish reasons. A famous example is Easter Island. Another example is Iceland. Haiti is a recent example. In such places the topsoil washes away, ultimately causing an inability to effectively grow crops. This killed off the Easter Islanders, helped make the Haitians even more impovershed, and certainly hasn't helped the Icelanders. Nearly the same caused the dustbowl.
Our desire for condos is no different than the desire that Easter Islanders had for chopping down all the trees. Just as the Easter Islanders needed the good land that they destroyed, we need the good land that we are destroying.
Remember: economics is known as "the dismal science" for good reason
But what about the hacker breed? People learning stuff just for the fun of it, not for profit?
While these people are still bred into existance
No, they aren't still bred into existance.
Smart people, particularly women, rarely produce children.
The few remaining smart kids are raised by the lowest bidder instead of by smart mothers who could provide intellectual stimulation. The adults running daycare and school programs are normally unable to handle math with fractions or decimals.
You don't have to deal with some artsy "designer" who randomly decides to freshen up a GUI with random superficial changes. You don't have to spend your time converting messy financial law into messy computer code.
You probably get to control cool hardware, and might even get some in your office to play with. Your work might involve lasers, welding robots, elevator equipment, jet turbines, surgery robots, multi-ton telescopes, spacecraft, camera lenses, nuclear reactor cores, mesh networked landmines that can hop, implanted medical devices, traction control brake systems, UAVs...
If you actually want to be writing business craplets for some MBA who hates nerds and their technology, you can of course go that route. It probably isn't good for your sanity though.
Lots of C++ programmers use Eclipse as their IDE. If you like that, use it.
I suggest getting away from the IDE though. Real projects tend to be done from the command line with simple tools: make, vi or emacs, gcc, etc.
This is even somewhat true for Windows, possibly substituting cl (the cl.exe compiler that comes with Visual Studio) in place of gcc.
Projects are especially likely to be done this way if they involve numerous people, multiple platforms, developers in far-away locations, version control, or any other complicating factor. IDE project stuff can be nice for a personal project with a few files, but it just doesn't scale or handle the weird cases.
In any case, if this is about learning, you'll want to use the tools that the serious projects use.
This is the problem with these animal rights nutjobs. They are empathizing with the animals.
Yup.
They assume that the rest of us also empathize with the animals. This incorrect assumption leads to the entirely reasonable (but wrong) conclusion that people who kill animals are a danger to society!
It's not acceptable to rip wings off flys and let them die slowly.
Sure it is. It's germy and mostly pointless of course, but certainly acceptable. Hey, whatever floats your boat!
Probably everybody does it at least a few times as a kid, and then it gets boring. The curiosity is satisfied, you have better things to do, and you move on. It's like burning ants, flushing fish, hitting snakes with the lawnmower, cutting open frogs, slingshotting squirrels, etc.
Animal rights people share a lot in common with so-called animal torturers: the tendancy to personify animals. Animal rights people tend to assume that somebody mutilating an animal must be a sadistic sicko who is a danger to society. That may be the case if the person also personifies the animals, but not everyone makes that mistake. It's also possible to view the animal as no different from a rock or plant. There can be no "torture" to be disturbing or (if evil) enjoyable. I can't torture a rock, can I? No, not in a meaningful way, because it isn't a human.
Now your developers must be good at both Python and C++. Note that I don't mean merely "able", because any decent hacker can pick up a new language in two weeks or less. Shallow ability won't really do the job. Getting good at a language takes years of experience.
At every point in time, the rewrite will seem like a much more task than fixing up the Python. You think things like: "just a little bit of optimization and this is going to be acceptable". It's not easy to commit to the rewrite, even if you know you need it.
BTW, completely overhauling the design of a project written entirely in C isn't so bad. You don't get the ravioli classes problem that most C++ code suffers from.
Nevertheless, nobody has an obligation to pursue a particular level of income just because you paid tax.
The government can force many things upon us:
* pay tax
* attend school (to make one more productive)
* not smoke pot (avoiding some productivity loss)
It all goes together as long as we are stuck sharing an economy. It's a given that we will be stuck sharing an economy, and even paying for a common defense.
Don't like it? Find your own planet.
Be glad you don't get punished for eating too much, or for so many other minor things that may make you an economic drain for your country.
I'm not kidding about eating too much. Various places have seriously proposed junk food taxes. This is because of the medicare/medicaid situation. When the state is paying to take care of your health, ordering compliance with proper health habits is a logical consequence.
They don't want public transit because a car-based community is a way to discourage the lower classes from moving into the community. With them would come crime, a drop in property value, and so on.
While this issue is often looked upon in a racial light, economic discrimination is actually a far more accurate filter. Few would object to living near people like Clarence Thomas, Prince, or (once retired) Obama.
We built our cities with the assumption that transportation would be cheap.
If fuel prices rise, everybody else wins relative to America. They can tolerate high prices. Americans can't. High prices collapse the American economy for good.
People are not going spend money on something that they do not feel enriches their lives.
The key being "feel".
Thus gambling, smoking, perfect lawns, random wasteful junk (52" TV set, home pool table...) to impress others, etc.
US culture has taught people that standard of living == quarter acre in the middle of nowhere. And that's crap.
That's definitely crap. If your neighbor has a McMansion on a lot that small, there won't be room enough to have forest between the houses.
Your neighbor can listen in on you. You'd better hope you **never** have an argument with your spouse or kids.
You will listen in on him, like it or not. You get to hear him cranking Britney Spears to 11. Your kids get to hear him swear, in graphic detail. You wake to the sound of his Harley or H2.
You might smell his barbeque, pool, cigar, fertilizer, or dog shit. You could get hit by his fireworks. His cat will poop in your child's sandbox.
Maybe you can even see the ugly bastard sometimes, or at least his house.
move to a metropolitan area or some other planned community where you have everything you need within walking distance
Planned communities are much of the problem. I know a city that is 100% home owner association for housing by city ordinance/bylaw/whatever. All non-housing stuff (which is very little indeed) is deliberately forced to be far away from the housing. Most everyone must commute to other cities to work.
The people there could move out, sure, but then other people would move in. The city has been built. There is no remotely realistic way to fix that city, even if the residents were to decide that it should be fixed. (and of course they love their city exactly the way it is) Properties are tied up in draconian deed restrictions. Fixing such a city would probably require heavy-handed measures involving eminent domain and bulldozers.
His argument is, here in north america, we made the huge mistake of designing communities such that a vehicle was a requirement for living. In particular, the suburban and ex-urban phenomenon has left your average American completely incapable of living without personal long-distance transportation.
Yep. The ugly truth is that this was triggered by desegregation. Once you could no longer enforce a little island within the city, anybody with the means to live elsewhere did exactly that.
And this phenomenon is coupled with a truly massive underfunding of public transportation [...] The solution is to build communities where cars *aren't necessary in the first place*.
Uh, well, bus stops devalue your property. This is because they make it possible for people without cars to live in your community. People who can't afford cars are people who make a community less desirable. You'll get more littering, muggings, graffiti, prostitution, meth labs... You want to raise children in a place like that?
This is related to some of the reasons we don't even like to ride busses. We might have to sit next to a smelly bum, a pedophile, or worse. Remember that guy in Canada who chopped of the head of the guy sitting next to him. We want isolation from that class of people.
You don't hear me harping on dump trucks, bulldozers, and semis do you? No. Unless 90% of them were used when absolutely not necessary, and then you would. Get it?
The whole point of an SUV is to intimidate the other drivers (so they let you go first) and let you look down/over them.
I like the way you think, particularly regarding the bulldozer. That'll be my next ride. I especially like those up-armored ones that are designed for removing Palestinian houses. Even the Lincoln Navigator and Chevy Suburban drivers will cower in fear, allowing me to visit Starbucks in safety and security.
Your arguments are precisely the reason some people don't want government controlled health care or government controlled education, etc. If those programs allow you to make demands on my labour and my recreation time, without any opportunity for me to opt out then it leads naturally to a slave state. The problem is not the stoner, it is the government that forces you to live as a collective rather than as an individual.
Right. Such is modern life in most any country. (certain tax-free countries fully funded by oil revenue don't have this issue)
People demand their pork. Politicians provide it. News at 11.
I'd gladly ditch most of it, but certainly not all. The resulting elimination of government (including military) would leave a power vaccuum that some asshole dictator would quickly fill.
you're not addressing the agony that goes with things like tracking down memory leaks and playing with pointers and all the other fun stuff you get to do with C
I guess I enjoy that. I also do assembly and sometimes minor hardware stuff, so... :-)
For jobs that require low-level languages, job expectations may be different. Management usually understands that the work will proceed as fast as it does. I'm not expected to refactor overnight.
Memory leaks and pointer problems are usually easy to find on a Linux platform. Compile with debug symbols, then reproduce the bug under valgrind. Valgrind is like magic. It even tells you if you pass uninitialized data to an IO function or if your code makes a decision (an "if" or loop condition) based on uninitialized data. Also remember that gcc does not enable warnings by default, the -Wall option doesn't enable all warnings, and many warnings require optimization enabled for them to actually work.
Of course, running on bare metal is even more fun than running on Linux. You get to debug using JTAG, a logic analyser, a single LED, or characters that you write to a serial port.
The best is when your software controls something dangerous, or at least expensive. There is a certain thrill in knowing that a simple typo could cause a giant factory robot knock a roof support loose. I've done stuff where bugs could expose hospital patients to needless X-rays and stuff where bugs could leave military personel without sensors or defensive countermeasures.
You signed your name on the dotted line? You live up to that contract. You breach? You pay the penalty.
Consumer contracts are written by teams of bright well-educated lawyers who commonly bill $200 to $700 per lawyer per hour.
Consumers commonly make $10 per hour and are over their heads in debt. About half of them have below-average intelligence. About 5/6 of them are not truly literate even for regular newspaper-like text, never mind a legal document. Consumers are given one-sided contracts with no reasonable alternative. There is no practical opportunity (time) or financial ability to seek the advice of counsel, and no alternative provider of services.
This is a fundamentally cruel situation. Even as arrogant and elitist as I am, I can see that this is harmful to society. It encourages contempt for our legal system, general distrust, and a feeling of unfairness. All of that encourages corruption, which of course hurts everybody.
He's not demanding you do a thing.
Maybe not, but as I said, no man is an island.
He doesn't have the option to declare that the emergency services (which I help pay for) should not scrape him off of a highway. He doesn't have the option to declare that the fire department (which I help pay for) should not put out the flames when his pot catches his house on fire. He doesn't have the option to declare that the police (which I help pay for) should not protect him from his dealer.
I don't have the option to exclude him from these services, and I don't have the option to avoid paying to cover him. When he doesn't pay his fair share, I pay more.
Thus, I'm his slave. That pisses me off.
I'm **his** slave if he doesn't pull his fair share.
I'll be paying more (taxes, not defaulting on bills, etc.) generally, because I'm not screwing up my mind. He'll be using the benefits more.
He's taking unfair advantage of my efforts.
What's so criminal about smoking a bowl in the privacy of my own home, zoning out in my recliner and vegging out on TV after snacking on everything in my fridge? Who gets hurt?
No man is an island, especially in a modern country.
I need you to be as productive as possible, because I share an economy with you. There are taxed to be paid, work to be done, etc.
My taxes helped pay for your education. That's a crummy investment if you turn into a paranoid rambling pothead.
Another thing I'm paying for is the cost of your health problems. When you abuse the emergency room and fail to pay, the costs get passed on to people like me.
I know it's impractical for various reasons (is Apple in the same market as Dell?), but it sure would solve a lot of problems.
Got a perfect monopoly? Pay a 100% tax.
Just starting out? No tax for you!
A similar idea is taxing according to company size. (and yes, measuring size is problematic too)
Mergers would almost be a thing of the past. Every market would have numerous competitors.
I tend to not mention it, but yeah I use joe now. I switched from emacs because my Turbo Pascal origins were calling to me. We're not alone. Alan Cox (the UK Linux hacker) uses joe.
Recent versions of joe will do syntax coloring. Most Linux distributions enable it by default. The backtick problem is fixed too, so you can now paste a shell script into joe and not have it mangled.
For avoiding bugs, I suggest using valgrind (excellent, though C++ names get crazy complicated when printed out in full) and lots of compiler warning options. Most beginners use neither, and suffer horribly as a result. Be sure to compile with either -O2 or -Os (letter "O") because many warnings depend on analysis done by the optimizer.
For C you might use:
-Wall -W -Wshadow -Wstrict-prototypes -Wmissing-prototypes -O2
Don't forget to run valgrind **every** time you suspect a problem or want to ship something. The tool is amazing.
Don't forget that emacs is an IDE. It integrates everything: debugger, builds, version control, and even a console. Annoying editing tasks can often be scripted on-the-fly via the built-in elisp programming language.
In case you have vi experience, emacs can do that too.
you just need to make sure the caller has accurately represented their buffer length
A typical error is to pass the size of the wrong buffer. Think "sizeof src" and you'll get the idea. Another typical error is to pass the size of the whole buffer, but a pointer that is beyond the beginning of the buffer.
a lot of negativity about the TR, but not any specific criticisms
Proper error handling is not a generic problem. Truncation has been demonstrated to cause security problems. Throwing an exception or raising a signal has been demonstrated to cause security problems. The idea that proper error handling can be granted simply by use of particular functions is quite dangerous; security is simply not that easy.
The _s stuff promotes this dangerous idea.
If you have any clue about economics, you know that we do things based on wants (emotion) rather than needs. You also know about externalities, the time value of money, time-based discounting of value, the tragedy of the commons, and so on.
For example, suppose that human-caused climate change is scientifically valid. Economics doesn't prevent us from burning coal and oil like crazy, even if that ultimately kills us all. By your logic, society needs the luxury of burning coal and oil more than it needs a survivable climate!
For example, many places have been deforested for short-term foolish reasons. A famous example is Easter Island. Another example is Iceland. Haiti is a recent example. In such places the topsoil washes away, ultimately causing an inability to effectively grow crops. This killed off the Easter Islanders, helped make the Haitians even more impovershed, and certainly hasn't helped the Icelanders. Nearly the same caused the dustbowl.
Our desire for condos is no different than the desire that Easter Islanders had for chopping down all the trees. Just as the Easter Islanders needed the good land that they destroyed, we need the good land that we are destroying.
Remember: economics is known as "the dismal science" for good reason
But what about the hacker breed? People learning stuff just for the fun of it, not for profit?
While these people are still bred into existance
No, they aren't still bred into existance.
Smart people, particularly women, rarely produce children.
The few remaining smart kids are raised by the lowest bidder instead of by smart mothers who could provide intellectual stimulation. The adults running daycare and school programs are normally unable to handle math with fractions or decimals.
What could be better?
You don't have to deal with some artsy "designer" who randomly decides to freshen up a GUI with random superficial changes. You don't have to spend your time converting messy financial law into messy computer code.
You probably get to control cool hardware, and might even get some in your office to play with. Your work might involve lasers, welding robots, elevator equipment, jet turbines, surgery robots, multi-ton telescopes, spacecraft, camera lenses, nuclear reactor cores, mesh networked landmines that can hop, implanted medical devices, traction control brake systems, UAVs...
If you actually want to be writing business craplets for some MBA who hates nerds and their technology, you can of course go that route. It probably isn't good for your sanity though.
Lots of C++ programmers use Eclipse as their IDE. If you like that, use it.
I suggest getting away from the IDE though. Real projects tend to be done from the command line with simple tools: make, vi or emacs, gcc, etc.
This is even somewhat true for Windows, possibly substituting cl (the cl.exe compiler that comes with Visual Studio) in place of gcc.
Projects are especially likely to be done this way if they involve numerous people, multiple platforms, developers in far-away locations, version control, or any other complicating factor. IDE project stuff can be nice for a personal project with a few files, but it just doesn't scale or handle the weird cases.
In any case, if this is about learning, you'll want to use the tools that the serious projects use.