Discussion in 'OT Technology' started by SPACECATAZ, Mar 12, 2009.
Is it time to take a break from self-study?...
I didn't exactly go that way, but nevertheless.
It could mean to take a break, but if its your first time dreaming in code I wouldn't worry about it. Just make sure you go outside every day.
Was your dream slow to execute and convoluted?
came to post something like this, just for ball busting though
I hear ya man, I tend to do most of my reading before bed which results in annoying brain activity when I am trying to fall asleep
Look, I'm no Java guy, I mostly work in the language god used to write the Universe, but...
This is pretty funny because its such an antiquated attitude. If you avoid CORBA and the whole J2EE stack, Java is the least convoluted language there is. It is so overly verbose it is PAINFULLY unconvoluted.
I was doing some research for a system doing genetic searches the other day, and found thorough benchmarks for the FASTA algorithm. C/C++ were like 8 seconds to do the test job. Java was 9 seconds. Java is really, really good at scientific computing. Its really fast for serial math and string manipulations. You give up 10% speed and you get garbage collection. Its a no brainer.
I admit I was shocked. Especially since the language I wanted to work in, Erlang, took more like 60 seconds to do the FASTA benchmark. Erlang is a concurrent language and will pick up major gains when you run multiple erlang greenthreads, but not a six-fold increase.
So Java it is. Because its wicked, wicked fast.
Actually, assembly is the least convoluted language there is, son.
Seriously though, I know you're talking about high-level languages. The Java framework is problematic for me, though, because as you point out, some of it is pretty disgusting on the inside, and there's no way for most people to know what's good and what to avoid. At least with the C++ Standard Template Library, it's open-source so you can be sure if there was a problem somewhere, someone somewhere noticed it and it's been fixed by now.
Not that this does web programmers any good, but I've already expressed my distaste for writing interpreted code that runs in a web browser, so...
EDIT: Also, garbage collection is not hard; when you write the line of code to instantiate an object, the next thing you do should do is write the line of code that deletes the object and nulls the corresponding pointer -- just like when you open a block, the next thing you should do is close it. You can write the code in the middle afterwards.
here is a dictionary definition of convoluted, as you obviously have no idea what it means.
(esp. of an argument, story, or sentence) extremely complex and difficult to follow
yes, lets write a page of code in assembly or two descriptive lines in a higher level language, which is harder to follow?
Assembly is extremely simple and easy to follow, though; it's all mathematical and simple logical operations. There's just a metric shit-ton of repetition in programs of any reasonable size.
Unfortunately for you, repetition != complexity.
pownage points ++;
You guys are all lame, .NET or bust
I've had nightmares where I had some grand program working and then I made one small little change and the world came crashing down..and I couldn't figure out what I changed!
That is the job of the architect
We weren't discussing web programming, we were discussing Java's speed, and my example was a FASTA search on genetics data. Assembly is useless for doing that, or much of anything else. As to garbage collection - you've obviously not done much programming.
As to disdain... you don't actually like to program much, I suspect. If you did, you would have coded enough to know better than to write posts like this one by now
yeah that example of memory leak preventions works great for a highschool C++ intro assignment.
Spaghetti code FTL. I'm not going to say I'm that focused in my dreams, but I document the living shit out of my code for exactly that reason. Some of my libraries literally have a 1:1 code:comment ratio.
True. Based on my experience thus far, though, most companies still don't appreciate the importance of the extra cost of up-front design. I mean, sure a master builder can build a house without a blueprint, but he can't build 1000 of the exact same houses without a blueprint. Non-technical types don't seem to realize that even a program written for a single customer can easily instantiate thousands or millions of objects during its execution, and each of those objects needs to play nice with all the others every single time. It's easy to get lost in the trees when writing code, and forget how exactly all the trees tie together into a forest.
Well...I haven't written any products not intended for use by specific pre-paying customers, like you have. (remember the casino thingy you made, but couldn't sell?) I wouldn't say I haven't done much programming, though.
I used to like programming a lot more than I do now. Nowadays, though, I spend so goddamned much time on a computer at work that I rarely have the patience to come home and bang out code for fun.
I'm going to be starting on some custom code for MS Sharepoint Server soon, though; that should be interesting.
Spending so much time on commenting means you are twice as slow as the next guy in terms of programming. Its a huge trade off when you are in the real world and crunched to get code out into an application/game. I do agree with commenting on specifically difficult methods that need a line or two to help you get reacquainted with the purpose of the code. Frankly commenting nearly line of code makes you seem like a first year CS student. Keep in mind, 90% of the time comments are for the person who's going to be looking at your code next. Regardless of what beautifully typed paragraphs with headers and pink rainbows you put on it they will have to reread your code anyways to get the gist of it. If you can't figure it out, go back and get your CS degree imo.
You're the kind of guy that left unchecked, can destroy an entire company. Hopefully you, or whoever manages you, figures that out before it happens.
cheer up, I write more efficient code than you. And incase you didn't notice, I was referring to deus's post on 1:1 comment code ratio.
Actually, most companies do realize the cost of design up front... and they know that it is astronomically high. Thats because most successful businesses have tanked enough BDUF projects to know that they don't know what they want, and the only way to figure out what they want is to start building and iterate. Thats why everyone outside of defense adopted agile methods years ago. Its unfortunate you had crusty professors who didn't know this, because if you had good ones then you might have learned relevant skills in college. It is also unfortunate that your mis-education led to a complex which holds you back career wise.
Of course I remember that. I also remember the legal document system I made before it, and the dynamic calling app I made after it. I remember the casino thingy vividly because before I did that I was a cubicle monkey like you. I had a miserable, boring, mediocre career and I was a shitbag because of it. Nobody would let me work on anything interesting, and I had an attitude because my mind was rotting. Just like yours. I was going nowhere fast. Just like you. So I said fuck it and launched a startup. I lost mine and other people's money, but it was the adventure of a lifetime and I got my street MBA and I developed the skills I currently employ to make enough to buy and sell someone like you every few months. The next project I was on where I was paid and used the skills and knowledge I developed in my startup, and got flown around central and south america in first class and five star hotels using those interesting skills I developed while making the product nobody paid for. I currently build web apps for a boat load of money using the same framework I picked for my startup, and its something any employer in the area would never have let me touch.
So yes, I remember the casino thingy. Its where I gave up mediocrity and went on to have a great career. And yet you bring it up to be snippy, which is ironic, because the best thing that could happen to you is that you grow a pair of balls, join or found a startup, and start being interesting and creating things. But you'd rather be a snippy coward, and so your life is fail.
Quit your fucking job. Its a piece of shit. Find something that isn't monotonous, boring, and that challenges you. Then your posts will at least get better.
I know what you were referring to.
I'm referring to your philosophy of commenting. Its seriously bad mojo.
lol. g2g bbl
You are a goddamned fool. Banging out code with no regard to its serviceability is permissible (but definitely not good) if the software you're developing is a one-shot deal, like a console videogame or something, but it's a disaster going to happen (not just waiting to happen) if the code will ever be revised. You're not going to work at the same company your entire life, much less the same project, so your thought process needs to be written down in English.
If you like, I could post bits of the source code from the Navy's (shitty) version of Google Maps -- I never had to work with the code personally, but from my conversations with the people who did, it's truly horrifying just how fucked-up the code got after 3 major versions were released with no macroarchitecture or even commented code.