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

Charles Shapiro hooterpincher at gmail.com
Sun Jul 1 10:26:40 EDT 2012


+1 for Byron. I started coding in C on MS-DOS in 1982 or so, but I've
lost count of the languages I've used since then on paid projects and
ones for my own amusement. Some languages have been more fun than
others, but I've found that focusing on the problem you want to solve
is more productive than worrying about your tools.

Real-world projects and books like Kernighan & Pike's
_The_Practice_of_Programming_ are far more useful than classes in
specific technologies for starting out.  You can always pick up
another language as needed.

Getting work involves slipping past the HR department, not your
specific technical skills.  The biggest challenge in most shops is
navigating the local culture and coding practice; experience with
actual projects will help you there. So, for example, knowing the ins
and outs of SubVersion and Git will help a lot more in a real-world
environment than detailed knowledge of  C++ function adapters.

-- CHS


On Sun, Jul 1, 2012 at 8:20 AM, Byron Jeff <byronjeff at mail.clayton.edu> wrote:
> 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
> _______________________________________________
> 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


More information about the Ale mailing list