[ale] flip flopping on programming, now interested in c++

Byron Jeff byronjeff at mail.clayton.edu
Sun Jul 1 08:20:46 EDT 2012


Ron,

I going to be blunt: you are overthinking this. First off programming is
like riding a bike: once you learn how to do it, it is difficult to
unlearn. The second thing is that programming languages are like flavors of
ice cream: while they all taste a bit different, in the end it's still ice
cream. Third is that unfortunately when it comes to the programming job
market, HR folks really are clueless. You can guess how many job ads out
there ask for 10+ years of Android programming experience when (DUH!) the
platform isn't been around for that long.

At then end of the day being a programmer only comes down to two or three
core skills:

1. Do you know how to solve problems.
2. Can you describe in a programming language (non specific) how to tell a
computer to solve that same problem.
3. When given a program and a specified system, can you make an appropriate
choice of tool to solve the problem.

The third one is the difficult one, because folks often make up their mind
what the tool is going to be before they even make an attempt to solve the
problem. One of my colleagues call it "love what you learn" syndrome. When
one learns to use a hammer, everything looks like a nail. But a good
craftsman knows there's a better tool when you are dealing with a screw.

As you can see from the signature below, I'm firmly implanted in the formal
educational system you ascribe to participate in for this process. Trust
me, from you description below, doing that will most likely frustrate you
because you'll be in a classroom full of students who don't have the
slightest idea of what they are doing. Since that class will be starting at
ground zero, the projects will be small and simplistic. As you've already
figured out, all the resources you need to support what you want to do are
already available to you online.

So let me give you some homework, then you tell me what you think when you
get it done. Pick three projects that you would personally like to have.
Three projects that would be useful for you. Write them. Use a different
programming language and development environment for each. Trust me, when
you are done, you will have relearned programming, and understand what
choices of tools must be made to accomplish the task. And you'll have a
portfolio of projects that you can passionately describe to anyone who
wants to know about your experience.

Don't overthink it. If you want to be a programmer, then go program...

BAJ


On Sat, Jun 30, 2012 at 05:55:16PM -0400, Ron Frazier (ALE) wrote:
> 
>    Hi all,
>    Some of you that have read my posts in the past probably know that I've been
>    threatening to relearn programming after being out of it for many years.
>    I've also been waffling on the language of choice. I was really close to
>    carrying out my threat to learn something, and was about to focus on Java,
>    and even register for some classes. I realized a few things that prompted me
>    to shift again.
>    The two primary things I like about Java are the fact that it's what is used
>    to program Android, although it may be somewhat nonstandard, and that it has
>    built in memory management. The main things I don't like about it are the
>    requirement to use the Java interpreter (JVM) and the difficulty (if it's
>    even possible) of creating an executable file.
>    I began to realize that the use cases for Java, are something I don't want
>    to make my career on. I've observed three main uses.
>    A) Website design and programming. As a programmer, I would have to worry
>    about compatibility with 4-8 major browsers and probably 4-8 old versions of
>    each. Combine that with security risks like SQL injection, and people like
>    me  who  don't  allow scripting on their browsers at all for sites not
>    specifically trusted, and I realized that I don't want to be dealing with
>    this hassle.
>    B) In the past, a popular use for Java was desktop applications, downloaded
>    and not driven from a website. I think this is greatly diminishing, as many
>    people such as myself, are considering uninstalling Java altogether because
>    of security risks. Career wise, I don't think this has great promise.
>    C) The third use for Java is Android programming. This, I would potentially
>    be interested in. However, I don't know how much of a profitable career path
>    that would be.
>    I'm shifting my focus back to C++. Based on my reading, I don't like some of
>    the features of C++. In particular, I don't like the numerous documented
>    bear traps that the programmer can fall into regarding pointers and memory
>    management. However, I do like the types of things that C++ is being used
>    for. Almost all these are something I would be interested in doing. I really
>    want to be able to program machines, like robots, solar energy control
>    systems, industrial controls, building automation, etc. Things like game
>    programming could also be appealing.
>    So, when it actually comes down to paying for education and taking classes,
>    I  think  I'll  be  taking  some C++ classes next year after getting a
>    prerequisite course out of the way. I'm wondering if anyone can recommend
>    other resources that would help me. I'm thinking I'll use the G++ compiler.
>    I think it runs either in Linux or Windows but I would have to confirm that.
>    I'll probably use GVim for my initial editor. I'm looking for a middle of
>    the road IDE, similar to what NetBeans would do for Java. I've pretty much
>    concluded that Eclipse is too complicated for me to try to be learning at
>    the same time I'm learning the programming language. If anyone has any
>    suggestions for resources, IDE's, user groups, online groups, etc., I'd
>    appreciate knowing about them. I always prefer things that can run on either
>    Linux or Windows (up to Win7). I doubt I'll ever own a Mac, unless I have
>    money to burn and need it for some reason, and I doubt I'll be upgrading to
>    Windows 8 and the "Metro" interface.
>    I've already picked up the book Sams Teach Yourself C++ in 1 Hour per Day,
>    and  plan  to be working through that prior to getting into the formal
>    classroom. I'd prefer any resources I use to be compatible with the C++11
>    standard that was approved last year.
>    Thanks in advance for any assistance.
>    Sincerely,
>    Ron
>    --
>    Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.
>    Please excuse my potential brevity.
>    (To whom it may concern. My email address has changed. Replying to former
>    messages prior to 03/31/12 with my personal address will go to the wrong
>    address. Please send all personal correspondence to the new address.)
>    (PS - If you email me and don't get a quick response, you might want to
>    call on the phone. I get about 300 emails per day from alternate energy
>    mailing lists and such. I don't always see new email messages very quickly.)
>    Ron Frazier
>    770-205-9422 (O) Leave a message.
>    linuxdude AT [1]techstarship.com
> 
> References
> 
>    1. http://techstarship.com/

> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo


-- 
Byron A. Jeff
Department Chair: IT/CS/CNET
College of Information and Mathematical Sciences
Clayton State University
http://cims.clayton.edu/bjeff


More information about the Ale mailing list