Bitcoin Forum
December 13, 2017, 06:03:35 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: I really don't know what to make of programming anymore  (Read 4005 times)
Lethn
Legendary
*
Offline Offline

Activity: 1484



View Profile WWW
January 27, 2013, 07:44:02 AM
 #1

So awhile ago I posted about learning C++ as you guys know, very basic right now and I'm just fiddling around with tutorial code to see what it all does, I don't know how you all work but for some reason when I actually try to 'learn' the code and what the functions mean my brain falls apart and screams at me, but if I just mess around and tinker with it I almost find it fun and I'll be honest I think I'm learning better that way and I just use code for reference, kind of like how you use photo's in art for reference because you know the poses and lighting etc. will be correct.

Quote
#include <iostream>

using namespace std;

int main ()

{
int level;

cout<<"Please type what level you want to be: ",
cin>>level;
cin.ignore();
if (level < 25) {
        cout<<"You aren't that powerful Sad\n";
}
else{
    cout<<"You're going to be able to slay a dragon!\n";
}
cin.get();
}



I keep getting in this love/hate thing with programming, I love how logical it is but equally I find myself swearing at it because of that since I'm having to find the correct order everything goes and the commands. Do you guys get this way with it or am I perhaps going about learning the code in a wrong way? Tongue I keep finding myself going back to programming because I have nothing better to do while I sort out my artwork and I don't think I can be bothered waiting for the Games Industry to churn out something awesome for me to play any time soon.


Edit: And oh shit! That's exactly what I'm talking about, I'm even seeing typos in my written stuff now on the code LOL Tongue
1513145015
Hero Member
*
Offline Offline

Posts: 1513145015

View Profile Personal Message (Offline)

Ignore
1513145015
Reply with quote  #2

1513145015
Report to moderator
1513145015
Hero Member
*
Offline Offline

Posts: 1513145015

View Profile Personal Message (Offline)

Ignore
1513145015
Reply with quote  #2

1513145015
Report to moderator
1513145015
Hero Member
*
Offline Offline

Posts: 1513145015

View Profile Personal Message (Offline)

Ignore
1513145015
Reply with quote  #2

1513145015
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
goxed
Legendary
*
Offline Offline

Activity: 1708


Mining hardware dev and reviewer.


View Profile
January 27, 2013, 07:50:09 AM
 #2

I think C language is a big systematic hack and C++ is a hack around the hack.

Looking to review Bitcoin / Crypto mining Hardware.
TradeFortress
VIP
Legendary
*
Offline Offline

Activity: 910


View Profile
January 27, 2013, 07:57:00 AM
 #3

Even if you know how to program, you might not find it as enjoyable as learning it Tongue
Lethn
Legendary
*
Offline Offline

Activity: 1484



View Profile WWW
January 27, 2013, 07:59:43 AM
 #4

Even if you know how to program, you might not find it as enjoyable as learning it Tongue

Line 1: ERROR statement doesn't make sense fool!
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2044


Poor impulse control.


View Profile WWW
January 27, 2013, 08:45:35 AM
 #5

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.

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
TradeFortress
VIP
Legendary
*
Offline Offline

Activity: 910


View Profile
January 27, 2013, 12:23:39 PM
 #6

First of all, understand that everyone faces challenges while learning programming, and if you don't have much experience & aren't learning it in a great way then it can be pretty hard.

Secondly, not everyone is due to be a programmer.

Quote
I mean this in the nicest possible way, but not everyone should be a programmer. How often have you wished that a certain coworker of yours would suddenly have an epiphany one day and decide that this whole software engineering thing just isn't working out for them? How do you tell someone that the quality of their work is terrible and they'll never be good at their job -- so much so that they should literally quit and pursue a new career? I've wanted to many times, but I never had the guts.

http://www.codinghorror.com/blog/2008/12/programming-love-it-or-leave-it.html

That doesn't mean you shouldn't learn programming. It means that if you've tried your best, but still can't grasp basic concepts, or if you're feeling especially frustrated *constantly*, then maybe it's time to reconsider. Of course, most likely you'll look back at this thread in a few months and call yourself a noob Smiley
Lethn
Legendary
*
Offline Offline

Activity: 1484



View Profile WWW
January 27, 2013, 12:32:16 PM
 #7

lol I dunno, I guess I'm just messing around at the moment now, I'm certainly more art oriented in the thought process and prefer doing stuff with my hands.
Herodes
Hero Member
*****
Offline Offline

Activity: 868


View Profile
January 27, 2013, 12:46:55 PM
 #8

As the saying goes, practise ,practise, practise.
CIYAM
Legendary
*
Offline Offline

Activity: 1862


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 27, 2013, 01:33:19 PM
 #9

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).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
aigeezer
Legendary
*
Offline Offline

Activity: 1305


Cryptanalyst castrated by his government, 1952


View Profile
January 27, 2013, 02:13:55 PM
 #10

"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.

 
TradeFortress
VIP
Legendary
*
Offline Offline

Activity: 910


View Profile
January 27, 2013, 02:29:39 PM
 #11

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.
01BTC10
VIP
Hero Member
*
Offline Offline

Activity: 742



View Profile
January 27, 2013, 02:51:54 PM
 #12

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.
dotcom
Sr. Member
****
Offline Offline

Activity: 354



View Profile
January 27, 2013, 04:44:15 PM
 #13

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.
payb.tc
Hero Member
*****
Offline Offline

Activity: 812



View Profile
January 27, 2013, 04:52:48 PM
 #14

"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"
hackjealousy
Jr. Member
*
Offline Offline

Activity: 53


only uses COBOL version of bitcoind


View Profile
January 27, 2013, 05:37:44 PM
 #15

“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.

TTBit
Legendary
*
Offline Offline

Activity: 1136


View Profile
January 27, 2013, 06:23:53 PM
 #16


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

good judgment comes from experience, and experience comes from bad judgment
aigeezer
Legendary
*
Offline Offline

Activity: 1305


Cryptanalyst castrated by his government, 1952


View Profile
January 27, 2013, 08:14:05 PM
 #17



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).

enquirer
Sr. Member
****
Offline Offline

Activity: 298


View Profile
January 27, 2013, 09:07:55 PM
 #18

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.
galaxyAbstractor
Full Member
***
Offline Offline

Activity: 147



View Profile WWW
January 28, 2013, 02:47:55 AM
 #19

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.

1gaLaxy9csuBTvNLJYoUy6sengQbh1TpV
Pyramining - Invest in mining!
Lethn
Legendary
*
Offline Offline

Activity: 1484



View Profile WWW
January 28, 2013, 07:16:58 AM
 #20

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
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!