[ale] flip flopping on programming, now interested in c++
Jeff Hubbs
jhubbslist at att.net
Sun Jul 1 12:00:19 EDT 2012
When contract work had me in a position where I needed to write code to
do something c. 2005, I looked at my options in terms of what "spoke to
me" both in terms of how the code looked and what it was like to work
with it. I settled on Python; it appealed to my old-school
sensibilities while also giving me new ways to operate. Cross-platform;
applicable to Web, desktop, or server. May not yield the
fastest-running solution to a given problem but I realized that it would
almost never matter.
I look at it a little like being a guitarist and deciding what kind of
guitar you want to center on; a lot has to do with your vision of
yourself and what instrument fits the vision.
On 7/1/12 8:20 AM, Byron Jeff 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
>
More information about the Ale
mailing list