> When I don't exercise (for me that means also practicing Ashtanga Yoga) for like a week because of external reasons, I experienced a deep slash of depression
Yep, that's the flip side. It helps fight depression, but it also has an addictive side to it. Fortunately it's really not as time consuming as you'd think, but taking a whole week off is almost out of the question
That sounds very similar to LabView (aka. G)... Have you ever tried programming something complicated in LabView? I'd almost rather write assembly.
Professional programming is about managing complexity. It's about putting thousands of man-hours into one single project with a dozen of different people without anyone's head exploding.
Light-table could have potentially been a huge help in the constant battle with managing complexity.. It's an area that has need some serious development (virtually nothing substantial has been added to IDEs in the past decade). But instead you're going to create a beginner friendly monster.
That makes sense - though most of the time if a method call only makes sense give a particular state, it's generally set to be protected. You can still call it with the wrong state from within the same class, but I can't honestly think of a case of that happening in my work.. You generally are familiar with the workings of the class you are currently touching. If you aren't able to do that practically, then that generally means your class is simply too large.
Most programming concepts are really about code organization and not expressiveness or the ability to express an algorithm clearly.
Object oriented programming only really starts to make sense when you are working on something that will take thousands of man-hours. If you are working alone, or on a small project is can be completely irrelevant.
The work flow you are describing is what MATLAB guys do. It's an absolute nightmare once the project gets too large. It is however very fast an flexible for prototyping.
I might be alone on this, but whenever I read things by John Carmack I get a vague sense that he doesn't really get object oriented programming. He always has a lot of interesting things to say, but it also kinda reads like a C guy trying to code in C++. I'm glad his thinking keeps evolving and he's not dogmatic about anything. I'd honestly love to hear his thoughts on C++11
"The function that is least likely to cause a problem is one that doesn't exist, which is the benefit of inlining it."
That's the equivalent of saying "the faster you drive the safer you are b/c you're spending less time in danger"
You'll just end up with larger monster functions that are harder to manage. "Method C" will always be a disaster for code organization b/c your commented off "MinorFunctions" will start to bleed into each other when the interface isn't well defined.
" For instance, having one check in the player think code for health <= 0 && !killed is almost certain to spawn less bugs than having KillPlayer() called in 20 different places"
I don't completely get his example, but I see what he's saying about state and bugs that arise from that. You call a method 20 times and it has an non obvious assumption about state that can crop up at a later point - and it can be hard to track down. However the flip side is that when you do track it down, you will fix several bugs you didn't even know about.
The alternative of rewriting or reengineering the same solution each time is simply awful and you'll screw up way more often
I can't think of anything from Microsoft Research that has translated into an actual product (other than maybe the Kinect.. though I think a lot of that IP was bought). They do some neat stuff I guess, but it seems like a giant money sink. Can anyone prove my wrong?
As an aside, I had a professor from the MS Research lab in Santa Barbara who was a complete moron. Seemed like he was some kind of middle manager at MS and then went to Research for an early semi-retirement
I'd definitely pick C++11 unless you need to use Rust.
Rust is inherently memory safe - however in practical terms this isn't important for most applications. If you are writing security critical applications Rust will provide you with some very important guarantees (ie. there are certain mistakes which are inherently not possible in the language). C++ doesn't really guarantee anything and if you're an idiot you can shoot yourself in the face. However in practical terms memory management in C++11 is very straightforwards and C++11 compliant code (ie. using the STL and not writing it like C) is very safe and clean. You're not mucking with raw pointers anymore
The main issue I see is that Rust is still in early development. It may or may not get "big" in the coming years. And library support is ... lacking
In contrast C++ has the STL and boost and every library under the sun. I haven't working with a lot of other languages extensively, but I've never seen anything as clean, robust and thorough as the STL and boost. C++ will remain relevant for a long long time. If Rust takes off in a big way, you'll be well positioned to jump ship.
This is a false dichotomy that keeps being restated. The air pollution is China is not primarily due to the burning of fossil fuels, but due to poor regulations. If their coal plants and automobiles were modern and up to western standards , there wouldn't be any issues. The air above Beijing and Shanghai doesn't look horrible b.c of CO2, but because of soot and other particulates produced by inefficient plants and factories.
They are focusing on nuclear for reasons of energy diversification and independence. (look at how Russia has Germany by the balls right now)
The numbers around water "used" for beef are a bit disingenuous. It's counting water used to grow the feed - but feed is relatively easy to transport and can be grow in water-rich areas.
Well if you assume the judicial system is corrupt - then the real problem lies in the courts - not necessarily in patents.
>The claim that one can own an idea is silly on its face
You do realize that the la-la land you want to live in doesn't preclude the ownership of ideas. Trade secrets will always exist and there is no practical way to prevent their existence.
Not only do patents allow innovations to be shared - but it also opens up the limited-time monopolistic advantage to other industries. It's easy for Google to have a secret algorithm on their servers, or for KFC to have a secret recipe - but it's harder to have a secret algo in a DLL, or a secret engine in a car.
In your world, hilariously, in-house server side software development would be significantly more profitable than client side software development.
I think it's a bit of a false equivalence - but I do agree that , while in office, public servants should have very little privacy. No one is forcing you into the job. If you want to serve the public, be ready for your and your whole family's finances to be open. Where you get your money and who you associate with are all things that are for your constituents to know
It seems like they should have waited for the surfboard thing to make it's journey before launching the kickstarter. It would have made the project seem a lot more credible. Like another poster mentioned, I'm sure a lot of drug traffickers would be willing to invest if it's proven to work
severance pay is given out for layoffs and not firings. It always seemed like a weird system to me b/c if you're laying people off, you're probably already strapped for cash - so you'd try to find an excuse to fire the person.
I talked to some SpaceX people a few months ago and it sounded like the place is a real meat grinder. They are all super pumped about working at SpaceX, just incredibly passionate people who really think they will be on Mars in a few years - At the same time they all work 14 hour days and according to them the retention rate is about a year an a half. My guess is that some people trying to skate by with 10 hour days and management decided they can can them and get more young blood to feed the machine
Yep, that's the flip side. It helps fight depression, but it also has an addictive side to it. Fortunately it's really not as time consuming as you'd think, but taking a whole week off is almost out of the question