Pages:
Author

Topic: I really don't know what to make of programming anymore (Read 4170 times)

hero member
Activity: 812
Merit: 1000
Truth follows:

Learn Lisp.

C++ sucks.

C is good.

Sooner or later, you'll learn web development sucks because it's all about glue to glue too many unmemorable and redundant technologies together to do boring things which requires learning which will become irrelevant one year later.

Computer science is fascinating. Business logic is not.

AI is fascinating. Programming business apps is not.

Any programming requiring heavy mathematics will make you a better programmer.

Simulation programming can be fun. Programming mundane applications is not.

Lean and mean command line programs which do not require all that other shit is fun.

Programs which require all that other shit is unfun bloatware development.
sr. member
Activity: 420
Merit: 250
bool eval(bool b){return b ? b==true : b==false;}
Mendacium dive into boost and learn it the hard way.  Grin

Generics are good, but the way templates do it in c++ is a nightmare.
donator
Activity: 131
Merit: 100
Axios Foundation
Shell scripting(bash) is the next level of C++ programming!

You know what I hate about C++... templates... I tried to use someone's else templates and almost wanted to kill the guy. Try to debug these.
donator
Activity: 2058
Merit: 1007
Poor impulse control.
Shell scripting(bash) is the next level of C++ programming!
W00t? That's like stating batch is the next level of assembly!  Shocked

Uh huh. So wrong, on so many levels. I now have a cognitive dissonance induced headache.
Educate me please.  Grin
I'm still under the impression that bash is a Linux version of batch in Windows, but more similar to perl/java. I've yet to learn it though, so I might be wrong here.

I was agreeing with you, and I'm hoping that anonymous_acc is just a big kidder.
legendary
Activity: 1288
Merit: 1227
Away on an extended break
Shell scripting(bash) is the next level of C++ programming!
W00t? That's like stating batch is the next level of assembly!  Shocked

Uh huh. So wrong, on so many levels. I now have a cognitive dissonance induced headache.
Educate me please.  Grin
I'm still under the impression that bash is a Linux version of batch in Windows, but more similar to perl/java. I've yet to learn it though, so I might be wrong here.
donator
Activity: 2058
Merit: 1007
Poor impulse control.
Shell scripting(bash) is the next level of C++ programming!
W00t? That's like stating batch is the next level of assembly!  Shocked

Uh huh. So wrong, on so many levels. I now have a cognitive dissonance induced headache.
legendary
Activity: 1288
Merit: 1227
Away on an extended break
Shell scripting(bash) is the next level of C++ programming!
W00t? That's like stating batch is the next level of assembly!  Shocked
sr. member
Activity: 322
Merit: 250
Shell scripting(bash) is the next level of C++ programming!
legendary
Activity: 1540
Merit: 1000
While I like the idea of programming I suspect I'll probably be messing around more than anything when I feel like it, I prefer artwork and metal refining/jewellery Tongue
full member
Activity: 147
Merit: 100
I've been programming for some 4 years already (first in high school and now in college, web development programming). I found it real fun in the beginning and I still do, but my lack of creativity and ideas what to create makes it hard to be enjoyable at the moment. For a long time I didn't code anything besides what we did in school (at least those projects were quite fun but the requirements were kinda vague). But lately I've started helping out with coding and fansubbing automation for an anime fansubbing group. I've also managed to finally start seriously on the bitcoin game I started a year ago and I think I'm gonna be done with that within a week from now Cheesy.

I found out thought that it's much more fun for me to code together with friends with similar skill to you. Gonna check if any of my webdev friends wanna do something soon, maybe that's an idea for you too Tongue.
sr. member
Activity: 306
Merit: 257
I think C language is a big systematic hack and C++ is a hack around the hack.

C language was created 40 years ago. As an alternative to assembly language and fortran, it wasn't at all bad. It's amazing how far hardware has progressed since then, but how little software technology has changed. Still C is the most popular language out there.
legendary
Activity: 1450
Merit: 1013
Cryptanalyst castrated by his government, 1952


My solution:

Book solution:


Good point. It raises issues about why we program. Sometimes it's for the "fun"; sometimes it's for the feeling of mastery over the machine; sometimes it's app-driven and writing the code is just a nuisance; sometimes it's just for a paycheck, sometimes it's for practice or to learn the language... on and on.

I think the OP's situation is app-driven, mixed with some fun and practice but it isn't fun any more.

In that kind of situation, my advice would be: don't write anything that you can find already-written and freely-available in some library - and - you'll find that everything you are likely to want is probably already available. In such a situation, "programming" becomes collecting "bricks" and building "walls" with them. Some people prefer to fire their own bricks in their own kiln, other people might skip the "wall" stage and buy a turnkey building.

I'd also suggest the OP look even higher up. Do you really want to program at all? Is the entire app you need already written? There's a lot of art-domain stuff out there - maybe one is right for the job. If programming isn't "fun", change the methods, the language, or even the perceived need to do it. Life is too short to spend it in drudgery unless you're a masochist, in which case try language x (your choice).

legendary
Activity: 1137
Merit: 1001

What needs to be done:
Sort names in an array from Z-a.

My solution:
30 lines of code, 2 global variables, nested loops, etc.

Book solution is 1 line of code similar to:
Code:
l_Sort() -> (Z-a) | @Variable
newbie
Activity: 53
Merit: 0
“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
― Robert A. Heinlein

Greetings human.

hero member
Activity: 812
Merit: 1000
"Programming" is many different things.

"oh yes m'am i'm an experienced web programmer"

"for example i once uploaded a page with funny gifs to geocities"

"$120/hour please"
sr. member
Activity: 354
Merit: 250
I needed a reason in order to enjoy learning a language. Once it had that, I could work on making small bits of code do what I needed them to. It's far more fun learning to code if you can immediately apply it to your own needs.

^ this

having that immediate feedback of having accomplished something you needed done really does make it worth it.
vip
Activity: 756
Merit: 503
I've learned a lot reading source code on http://www.codeproject.com and searching function definition on http://msdn.microsoft.com/en-US

C++ is a very fun language but I think it takes years to master.
vip
Activity: 1316
Merit: 1043
👻
There is really a ton of great information here. And the ninety-ninety rule can be applied to learning a programming too - when you think you learned 90% of programming, you got 90% left that you don't know yet.
legendary
Activity: 1450
Merit: 1013
Cryptanalyst castrated by his government, 1952
"Programming" is many different things. I got my first programming job in 1967, so I've seen a lot of languages come and go. At work we had "language wars" routinely. Eventually, I taught programming in various languages and watched students go through the "language war" cycle. At risk of caricature: early on, one's favorite language is the language one learned first - the second language and the third take one outside the comfort zone. After a while, say the fourth language, it's common to pick one of the four as one's favorite and to start proselytizing it. Some time after that, one may become jaded and start observing that "all block structured languages are the same", "choose the one best suited for the task", "your employer chooses the language"... pragmatic issues of that sort, and typically "only beginners have a favorite language". Many years later, one might find oneself saying "I know all that stuff and my favorite language is blah-blah." Someone inquiring about language issues should try to be aware of where a respondent is on the language experience spectrum in order to help make sense of any answers. The "right" answer for one person is not the "right" answer for another.

Somewhere along the way, one may encounter a functional language like LISP. Two things tend to happen. Either one gets a clumsy introduction to it that hides its strengths and one takes on a dismissive attitude "eww, it's old and full of ridiculous CARs and CDRs - how dumb is that?" - or - one breaks through the old crust and finds the power of it. It is a great language for writing meta-languages, so if you don't like the functionality as it comes out of the box, you just slowly morph it into your personal favorite language. You can do similar things with Assember or C++ if you are infinitely patient, and of course you can build on libraries patiently built by the community. I used to love my days as an Assembly programmer, but I grew impatient. It might be an age thing.

One might also encounter PROLOG along the way. It is really good for stretching your mind, I think, and can be hugely effective for some applications. It is great for building metalanguages also, if you know what you are doing. Out of the box, it is capable of deductive reasoning and abductive reasoning (most people are not) but if you want to lead it down paths of multi-valued logics or stochastic logics or... whatever system of logic you can dream up, then... it will cooperate. Debugging in PROLOG can be very unpleasant though. It's a long long way from machine level work. All the ultra-high-level languages tend to generate very inefficient machine code. When I first programmed, we would consider it a good days work if we shaved a few bytes or a few instructions from a program - million dollar mainframes had 64K bytes of memory (no kidding). Programmers were cheap and machines were expensive. Attitudes got frozen to match that paradigm. Now of course hardware is absurdly cheap and programmers are (relatively) expensive. Attitude changes tend to lag hardware changes.

Bottom line: if your employer wants you to use language foo, then use it. If you are free to choose, then try a few and stick with whatever one suits you best until you get really comfortable with it, then - here's the hard part - try something really different. You'll fight the change but it will make you a better programmer. I'll bet you can't learn just two - whose neurons are they, anyway?

After all that... I have a favorite programming language (really!), but I won't say what it is - find your own favorite to fit your needs, it's out there somewhere and you'll love it when you find it. If you're chafing at whatever you are using, then you haven't found it yet.

 
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
You have chosen the language with very likely the highest learning curve of all (and I am a very skilled C++ programmer).

After 15+ years of C++ programming (including building recursive decent parsers and object DB and an entire web application generating system) I *still* don't know every corner of the language (the more you learn the more you realise the more that there is to learn). As it is a language that supports multiple programming paradigms (where most other languages only support one or two) you will have to decide just how far you want to delve into it's depths or whether you'd just rather use something simpler that comes with a bunch of libraries that is far more ready to use "out of the box".

Please be careful which references you read (there are a lot of bad ones out there) and always remember *real* C++ is *standard* C++ (not some vendor specific extensions no matter how helpful they may seem to be).

If you are looking for a mentor and are up for a *huge* challenge then I would welcome you to participate in the CIYAM project (it will probably take you a year or more to understand even the basics) as I will have a lot of tasks for C++ programmers on CIYAM Open soon and would welcome eager minds to "get involved".

Also always understand that being a programmer requires a *lot* of patience - if you aren't happy in dealing with the fact it might take you days to fix a hard bug (which in your first few years of C++ programming would be not uncommon) then maybe programming is not what you will enjoy (it can be a bit like "banging your head against a brick wall at times).
Pages:
Jump to: