Jump to content

Programming, Parents, College, and Me


Gaurav251

Recommended Posts

So I have decided that I want to learn programming as that was the only thing I could do well in school (I did horribly in math, physics, and chemistry yet programming was something I could put time into at home to do).

 

The problem is that programming looks so daunting, unnerving, and scary to me that I just keep backing off thinking that I can do something else in life when the truth is I don't want to do something else in life,

 

I could be an accountant but I have no interest in being an accountant, I could be a psychologist but that would take to many years of my life to become one, no interest in biology so medical school and all that stuff ain't for me. Yet when I was in school I always had this big idea of being able to make my own video games and work with other programmers and build code and build stuff that people could use, though somewhere around the time I was in school that dream died with a programming teacher in my computer science class that didn't even care about programming at all. We were given assignments that were printed out from the internet (easy to find from a google search) and left to do them at our own terms with the teacher just focusing on her other classes.

 

Yet when ever I look at any other career in my life I don't feel that 'calling' or 'invigoration' or 'passion' to do it, but programming? That is something I want to do! But it looks so hard that I think I cant do it,

 

I also feel like I am to old to program now, sure I took 2 computer science courses in high school but all I learned was a bit of java here and there (got 80% in both grade 11 and 12 classes) But I feel like that wont help me when it comes to 'real' programming such as using C# or C++.

 

So where do I actually start doing programming? Do I go to a college and learn 'computer programmer' class(referring to this:http://www.senecac.on.ca/fulltime/CPD.html)? Or Do I learn it at my own time since I do have the luxury of doing that (for now at least)?

Link to comment
Share on other sites

So I have a couple questions and I will leave the "learning programming" stuff to the numerous technical people on these forums.

 

What do you feel exactly when you start to program? More detail and honesty is better.

 

What would you feel if you were to succeed at programming?

 

What is your past experience with things you were good at or wanted to do and what happened to those things?

 

I think if you don't look at the emotional aspect, then you are sidestepping the actual problem that is preventing you from accomplishing this dream. I look forward to your response.

Link to comment
Share on other sites

What do you feel exactly when you start to program? More detail and honesty is better.

 

It has been a long time since I programmed and I pretty much gave up on it after the last course I had, I felt a lot of frustration, hopelessness at times, and I did cheat by simply copying codes from the internet to finish some assignments. At times I felt like I didnt have 'the talent' to do programming that it was something I had not developed from my birth or childhood and that it just wasn't for me because I lacked that. How ever the reason I seemed to like the class was the teacher, when I got the second teacher(For Grade 12) my grade was lower then my old Grade 11 class. However the learning environment was fun to be in, and it really felt like a class where it was much more 'free' to be in then other classes. You could say that I rather like the class more then programming but I felt like the environment was really friendly compared to everything else I had to go through.

 

What would you feel if you were to succeed at programming?

 

I would feel like a wizard that has gained a super power that most people dont have, and I would feel the confidence of knowing that I have a skill that most people dont. The amount of critical thinking skills and abstract ways of learning involved in programming are something I fear and want, and although I always dont have complete confidence in my abilities to do things I know for a fact that a programmer usually never works alone, and there will be people there to help me. Most importantly it would be less boring then being an accountant and sitting at a little desk chair filing taxes and checking finances for most of my life. Plus I can never stop coding really (if I succeed at programming that is), always something new to learn, always something new to pick up. Most of my life I have just spent doing stuff on the computer and I feel like programming will be the same thing except with other people around me.

 

What is your past experience with things you were good at or wanted to do and what happened to those things?

 

This one is hard to answer, the things I liked before was astrology and I was doing really, really well up to my mid terms until the hard cold reality of my abusive environment started to set in(or rather I knew this yet I just tended to ignore it). I feel at home I am in danger and there is always screaming going on across my room. I feel that most of my problems are coming from my dad as he seems to be stalking my mom when ever she leaves some place he doesn't know, and he always asks me "Where did your mom go?" "Can you call your mom and ask her where she is?" to which I said nothing to at times. I always felt that my environment at home was poisonous, and at some point I felt that my environment at school became poisonous. So I soon decided to just leave school when I was almost finished with it and took time off to think about stuff in my life as it was coming to the point where I was beginning to have suicidal thoughts. Well you could say that it is the poisonous family environment at my home that makes me confused and full of anxiety of what I want to do for my future as I feel like there are parts of me that died long ago when I entered school and the times my parents took me to all sorts of different day cares and public schools to go to. I always feel that those parts of me that died will never come back to me and it always feels like I am looking for a part of me that 'lived' in my hellish environment to cling on to and do things. Because as it is I dont know what I really want to do with my life (I am 19 years of age) and I feel so purposeless and so useless that I go around looking for careers and jobs that pay good money yet I find no interest in them and impossible to achieve as I would have to go back to school again (and I dont want to go back to school). Since that didnt work out I tried to look for things that I did really well in school such as programming and I felt like I grasped a straw that I could work with and a part of me that some how 'lived' through everything I went through (or I hope so) and thats how I ended up starting my thread in the freedommainradio forum here and asking about programming.

 

EDIT: Now that I think about how much work I will need to do to get the bachelors degree in software development in college for programming I am getting that anxiety and fear again. Dont know if its normal, but I have been feeling a lot of fear for my future.

Link to comment
Share on other sites

I am still living at home but my parents are getting a divorce and I am going to move with my mother to a condo room she is going to buy (not rent) in north york. I feel like it will be a positive thing for me to detach away from my dad as I feel he is a deterrent that I just dont want in my life (I never want to go out of my room while he is out there).

 

I should probably add that I have MAJOR issues with procrasinaton even if from now I am doing things for my own benefit, It is something I developed because my needs were never met and I was ordered around constantly in school and at home by my parents to do things and never told why. I feel if I can just get rid of this procrasination feeling and have some passion to do something for my future (or rather have empathy for my future which I am struggling to find in my self) then I feel I will become a better person, but for now everything to me feels just hopeless, discontent, and full of despair so I just lay off and do nothing but play video games. But I really want to change that self about me, I really want to turn my self into something I wanted to be when I was a kid or growing up yet how do I get over all these feelings in me?

 

Its just so hard for me to contemplate doing programming because I feel like a complete failure, that I will never reach my goals and even if I do no one will bother to hire me to do anything and I will always be late for deadlines unable to finish most work asking for help most of the time. These fears just come and come and rail at me over and over. I feel that going to college will just turn me back into a slave that I was in school and at home. So I dont bother doing anything in life and just play video games. Yet I dont want to end my life like this so I want to do something and pick a decision while I am still young. Sometimes I find it hard to breath when I think about this stuff and even now I feel like I cant choose a career because simply I dont have any dreams for what my future should be like. I go to these career/personality quiz questions and it asks me stuff like "What did your friends most like about you?" and I simply cant give it an answer. To summarize it, what I am really trying to say is that I feel complete hopelessness for what ever I wish to do, or want to do, and feel like being in a middle income job like an accountant (something my suggested and then suggested that later on I get an MBA with it because she 'missed her chance') would be to boring for me to live my entire life doing. It also doesnt help that I dont look after my health nor do I eat much and because of that my body is really skinny and feels like I havent showered for ages. Well thats the feelings that go on in my head for now at least.

Link to comment
Share on other sites

I understand there's quite a bit involved in the situation you have to deal with, but in this reply I'll focus on the question you asked in your original post. I'll give you a big picture overview and some practical information regarding programming.
 
I like to break down the process of learning how to program (well, not just that) into three different categories – the abstract, the concrete and the language specification. The abstract approach will give you an outline of different programming paradigms (imperative, functional, logic etc.) and generalized ways to reason about the structure of your program. Once the basic ideas are established, it may even go into the architecture of a computer and the ways in which your program fits into the massive world of computing. Concrete approaches tend to focus on techniques of writing software for a particular application domain i.e. database programming. Through extensive practice, you should be able to infer some of the general ideas behind what you're doing. The languages specification approach is, in my opinion, the worst out of the three. It steps you through the syntax of the language, and at each step, it will give you some ideas of how what you've just learned can be applied to a particular problem.
 
Unfortunately, most of the introductory courses are centred around language syntax and library features. "I'll tell you how to construct sentences out of words and you should be able to write a great novel," pretty much sums up what I got out of secondary school programming courses. Advanced courses typically focus on concrete applications mixed with a few abstract concepts, which is perfectly fine if you want to specialise in a particular domain. I find the best courses to be the abstract ones. At its core, programming is all about modelling and controlling complexity. If you have a solid grasp of the underlying approaches and techniques, learning a particular programming language is quite easy. This is why I prefer abstract courses. They save me quite a bit of time in the long run.
 
Now that I've given you a general overview, it's time to get to the practical side of the matter. You don't have to go to college to learn how to program. There are plenty of good resources online. One of my favourites is MIT's Structure and Interpretation of Computer Programs. They made it publicly available and you can watch it from here. The course is taught using Lisp, but you can easily translate the ideas to different languages. A friend of mine fell in love with programming after reading this free online book. It managed to convince a literature student to change his major, so it might be worth a look. I've heard good stuff about this guy. If you want to get into some more advanced (or basic depending on how you look at it) programming, this guy has some very good content. A lot of my university colleagues used the tutorials posted on this channel to learn Python and C++, but I can't comment on the quality of the content. A quick YouTube search yields quite a bit of information related to programming. I'm sure others can point you to additional resources. After getting familiar with the basics, you might want to enrol in a university course. By that time, you should have some clarity on whether you want to pursue programming as a career. You can also turn to books for more advanced content. API Design for C++ is one of my favourites. It's a great example of solid abstraction built on top of concrete substance. The point is, you don't have to drop a few grand to find out if you want to program for a living.
 
Finally, I'd like to give a you some advice regarding the way you think about programming. You don't program because you like programming or you're good at it. You program because you want to solve problems. Programming can be a very powerful tool in your toolbox, but it's just a tool. Let the purpose drive the tool, not the other way around. This article sums it up quite well -- Advice from an Old Programmer. Good luck!
Link to comment
Share on other sites

It really feels like programming is something I can do compared to being an accountant (its what my mom says I should do) and it feels like it will be my choice,

 

by the way I am currently learning how to use python at Udacity.com, dont know if its worth it but it feels really nice for beginners just entering (or people like me picking it up again).

 

Also is it worth it to go to college to get a advanced diploma for programming? (example: http://www.senecac.on.ca/fulltime/CPD.html)

Link to comment
Share on other sites

What do you mean by "But I feel like that wont help me when it comes to 'real' programming such as using C# or C++."?  C# is almost identical to Java, and C++, in terms of programming, is not very different. Java is ubiquitous in all of the big investment banks, I've used it extensively in telephony integration (middleware layers which join up you topping up credit by  talking to a computer over the phone/website/SMS/voucher with back end mobile account systems/banking interfaces/etc ), etc. 

 

If you've already done some Java then i'd suggest sticking with that to hone your development skills, while spending the time you would otherwise spend learning a new language, learning about computers/systems in general. I.e. if you don;t already know you could learn about how your Java is compiled to byte code, which is interpreted on a virtual machine, which in turn is compiled against a particular platform and hooks into services provided by the underlying operating system, etc.  If you learned something like C then you'd have to get a slightly deeper feel for what's going on because you have to manage your own memory allocations, and can manipulate pointers, etc. But i think that might be a little frustrating to start with - you can be more productive with Java in those early days, and look deeper under the covers as and when you feel like it. 

 

If you really want to develop video games, then perhaps your choices would be different. The market for games is much smaller, and so I think it's tougher to get into, but that doesn't meant that I don't think that you should try. I'm just saying that there is alot of satisfaction to be had doing other things.

 

I can only speak from a UK perspective, but I think that my Software Engineering degree was a bit of a waste. It does help you find your first 1 or 2 jobs, but all you really need is a steer in the right direction. Someone to say "read this book then this one". If you spend money learning for 3 years, you could instead learn in your own time, and then get a very low entry level job and work your way up - all the time you're being paid to learn, rather than the other way round. You can achieve alot in 3 years.

 

What's especially useful these days when it comes to finding jobs, which you'll probably not learn at school, are things like TDD (test driven development) and other techniques. With some guidance you can build things like this into your learning process. I think with a little guidance you can find everything you need on the Web.

I forgot to mention - I was a Royal Marine for a few years after I left school. I injured myself and had to leave, and decided to do a Software Engineering degree having never programmed before. I didn't graduate until I was 25 - so I wouldn't worry about being 19. I'm 33 now and I'm successful and earning very good money.

Link to comment
Share on other sites

  • 2 weeks later...

If you don't have nerves of steel and the patience of a Buddhist Monk, you will either develop those skills from practice, or you will throw your computer out of the window.

 

The problem with programming is that people think it's easy. "Hey I will start learning programming and by the end of a few months will be able to code my own Games!"

 

If you think programming will be easy to learn, you are bound to be disappointed, but if you stand your feet to the ground, and realize that even being able to do Hello World! is important, you will manage it.

 

So here's the biggest secret you can learn about programming: Any mistake you make will bring you closer to the solution, if you give up you will never solve it, if you are willing to try as many times as it takes, you will always to solve it.

 

You don't learn programming in College/University. The only way to learn it is actually doing it. If people who teach programming were any good, they would be programmers and not teachers.

 

You should not care about language, you should not care about syntax. If you understand programming logic, you can program in any language and can learn any syntax. A language is just a tool, it's more important to get the job done than to think too much about the tool you are using.

Link to comment
Share on other sites

I am not a programmer, and have done very little of it.

 

I've been scripting in PHP and Javascript almost everyday for the past 3 years, and it's never made much sense to me why anyone would ever want to become a programmer. If you want to create actual programs, then you are going to have a very limited amount of exposure, or they are web-based solutions done on some server somewhere, in which case I would be WAY more inclined to use a scripting language that isn't ridiculously verbose (like any C based language).

 

Anything that compiles and doesn't have to cache is going to be faster (in most cases), but if programmers have that concern about PHP or server-side javascript or Python or something like that, then either they are working on sites that see millions of users a day or they are micro-optimizing which is the least helpful kind of optimizing.

 

Scripting languages are way less daunting, have bigger better online support and are much more enjoyable to write. They are way less strict which means it's easier to write bad code than to write good code, but that's more than worth it to get people involved.

 

And getting involved in web development has never been so easy as it is today between all the frameworks, libraries and services out there to handle all the stuff you'd rather not.

 

I don't understand why people would want to get involved in programming. If you are a computer scientist and you like low level handling of memory and all that jazz then that's cool, but personally, I find that stuff boring. I'd rather create custom and complex interfaces within days using simple HTML, CSS and Javascript (and a REST server).

 

And if you are trying to get started in the world of software development, you should really be putting as few barriers in front of you as possible. The goals should be the goal, and not the process. I got involved in scripting languages because I wanted to do cool things, and not to learn the endless over-complexities of languages like C++.

 

That being said, the Go programming language looks pretty cool. It's not exactly statically or dynamically typed, it's not exactly low level or high level programming. It's not exactly object oriented (at least in the classical sense) or procedural. It handles concurrency really well and it's compile time is negligible. It's like what I think (not being a programmer) programming should be.

 

/rant

Link to comment
Share on other sites

So where do I actually start doing programming?

You can start at udacity.com with python. Its free. It was started by a professor who quit

his job. He has some people from google and redit teach classes...

 

And you shouldn’t say you hate math... say you hate the way it is thought.

I taught i hated math but it just takes time and the right approach

Link to comment
Share on other sites

Yah I started doing udacity because I just like python better then java and udacity does the learning reaaallllyy slowly but thats how I like it,

 

basically programming is something I do in the spare time instead of playing video games, and its made my days a lot more 'happier' and fun (and frustrating too!)  :)

 

by the way your right, I dont hate math, but man the teachers I had were people who were teaching french, english, and social studies in their other curriculums and couldn't give two cents about teaching math as they just made it look like "just another course".

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.