Gee.  I hope nobody thinks I meant that knowing C++ function adapters will get you a job.<br><br><div class="gmail_quote">On Sun, Jul 1, 2012 at 10:26 AM, Charles Shapiro <span dir="ltr">&lt;<a href="mailto:hooterpincher@gmail.com" target="_blank">hooterpincher@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+1 for Byron. I started coding in C on MS-DOS in 1982 or so, but I&#39;ve<br>
lost count of the languages I&#39;ve used since then on paid projects and<br>
ones for my own amusement. Some languages have been more fun than<br>
others, but I&#39;ve found that focusing on the problem you want to solve<br>
is more productive than worrying about your tools.<br>
<br>
Real-world projects and books like Kernighan &amp; Pike&#39;s<br>
_The_Practice_of_Programming_ are far more useful than classes in<br>
specific technologies for starting out.  You can always pick up<br>
another language as needed.<br>
<br>
Getting work involves slipping past the HR department, not your<br>
specific technical skills.  The biggest challenge in most shops is<br>
navigating the local culture and coding practice; experience with<br>
actual projects will help you there. So, for example, knowing the ins<br>
and outs of SubVersion and Git will help a lot more in a real-world<br>
environment than detailed knowledge of  C++ function adapters.<br>
<br>
-- CHS<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Sun, Jul 1, 2012 at 8:20 AM, Byron Jeff &lt;<a href="mailto:byronjeff@mail.clayton.edu">byronjeff@mail.clayton.edu</a>&gt; wrote:<br>
&gt; Ron,<br>
&gt;<br>
&gt; I going to be blunt: you are overthinking this. First off programming is<br>
&gt; like riding a bike: once you learn how to do it, it is difficult to<br>
&gt; unlearn. The second thing is that programming languages are like flavors of<br>
&gt; ice cream: while they all taste a bit different, in the end it&#39;s still ice<br>
&gt; cream. Third is that unfortunately when it comes to the programming job<br>
&gt; market, HR folks really are clueless. You can guess how many job ads out<br>
&gt; there ask for 10+ years of Android programming experience when (DUH!) the<br>
&gt; platform isn&#39;t been around for that long.<br>
&gt;<br>
&gt; At then end of the day being a programmer only comes down to two or three<br>
&gt; core skills:<br>
&gt;<br>
&gt; 1. Do you know how to solve problems.<br>
&gt; 2. Can you describe in a programming language (non specific) how to tell a<br>
&gt; computer to solve that same problem.<br>
&gt; 3. When given a program and a specified system, can you make an appropriate<br>
&gt; choice of tool to solve the problem.<br>
&gt;<br>
&gt; The third one is the difficult one, because folks often make up their mind<br>
&gt; what the tool is going to be before they even make an attempt to solve the<br>
&gt; problem. One of my colleagues call it &quot;love what you learn&quot; syndrome. When<br>
&gt; one learns to use a hammer, everything looks like a nail. But a good<br>
&gt; craftsman knows there&#39;s a better tool when you are dealing with a screw.<br>
&gt;<br>
&gt; As you can see from the signature below, I&#39;m firmly implanted in the formal<br>
&gt; educational system you ascribe to participate in for this process. Trust<br>
&gt; me, from you description below, doing that will most likely frustrate you<br>
&gt; because you&#39;ll be in a classroom full of students who don&#39;t have the<br>
&gt; slightest idea of what they are doing. Since that class will be starting at<br>
&gt; ground zero, the projects will be small and simplistic. As you&#39;ve already<br>
&gt; figured out, all the resources you need to support what you want to do are<br>
&gt; already available to you online.<br>
&gt;<br>
&gt; So let me give you some homework, then you tell me what you think when you<br>
&gt; get it done. Pick three projects that you would personally like to have.<br>
&gt; Three projects that would be useful for you. Write them. Use a different<br>
&gt; programming language and development environment for each. Trust me, when<br>
&gt; you are done, you will have relearned programming, and understand what<br>
&gt; choices of tools must be made to accomplish the task. And you&#39;ll have a<br>
&gt; portfolio of projects that you can passionately describe to anyone who<br>
&gt; wants to know about your experience.<br>
&gt;<br>
&gt; Don&#39;t overthink it. If you want to be a programmer, then go program...<br>
&gt;<br>
&gt; BAJ<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Jun 30, 2012 at 05:55:16PM -0400, Ron Frazier (ALE) wrote:<br>
&gt;&gt;<br>
&gt;&gt;    Hi all,<br>
&gt;&gt;    Some of you that have read my posts in the past probably know that I&#39;ve been<br>
&gt;&gt;    threatening to relearn programming after being out of it for many years.<br>
&gt;&gt;    I&#39;ve also been waffling on the language of choice. I was really close to<br>
&gt;&gt;    carrying out my threat to learn something, and was about to focus on Java,<br>
&gt;&gt;    and even register for some classes. I realized a few things that prompted me<br>
&gt;&gt;    to shift again.<br>
&gt;&gt;    The two primary things I like about Java are the fact that it&#39;s what is used<br>
&gt;&gt;    to program Android, although it may be somewhat nonstandard, and that it has<br>
&gt;&gt;    built in memory management. The main things I don&#39;t like about it are the<br>
&gt;&gt;    requirement to use the Java interpreter (JVM) and the difficulty (if it&#39;s<br>
&gt;&gt;    even possible) of creating an executable file.<br>
&gt;&gt;    I began to realize that the use cases for Java, are something I don&#39;t want<br>
&gt;&gt;    to make my career on. I&#39;ve observed three main uses.<br>
&gt;&gt;    A) Website design and programming. As a programmer, I would have to worry<br>
&gt;&gt;    about compatibility with 4-8 major browsers and probably 4-8 old versions of<br>
&gt;&gt;    each. Combine that with security risks like SQL injection, and people like<br>
&gt;&gt;    me  who  don&#39;t  allow scripting on their browsers at all for sites not<br>
&gt;&gt;    specifically trusted, and I realized that I don&#39;t want to be dealing with<br>
&gt;&gt;    this hassle.<br>
&gt;&gt;    B) In the past, a popular use for Java was desktop applications, downloaded<br>
&gt;&gt;    and not driven from a website. I think this is greatly diminishing, as many<br>
&gt;&gt;    people such as myself, are considering uninstalling Java altogether because<br>
&gt;&gt;    of security risks. Career wise, I don&#39;t think this has great promise.<br>
&gt;&gt;    C) The third use for Java is Android programming. This, I would potentially<br>
&gt;&gt;    be interested in. However, I don&#39;t know how much of a profitable career path<br>
&gt;&gt;    that would be.<br>
&gt;&gt;    I&#39;m shifting my focus back to C++. Based on my reading, I don&#39;t like some of<br>
&gt;&gt;    the features of C++. In particular, I don&#39;t like the numerous documented<br>
&gt;&gt;    bear traps that the programmer can fall into regarding pointers and memory<br>
&gt;&gt;    management. However, I do like the types of things that C++ is being used<br>
&gt;&gt;    for. Almost all these are something I would be interested in doing. I really<br>
&gt;&gt;    want to be able to program machines, like robots, solar energy control<br>
&gt;&gt;    systems, industrial controls, building automation, etc. Things like game<br>
&gt;&gt;    programming could also be appealing.<br>
&gt;&gt;    So, when it actually comes down to paying for education and taking classes,<br>
&gt;&gt;    I  think  I&#39;ll  be  taking  some C++ classes next year after getting a<br>
&gt;&gt;    prerequisite course out of the way. I&#39;m wondering if anyone can recommend<br>
&gt;&gt;    other resources that would help me. I&#39;m thinking I&#39;ll use the G++ compiler.<br>
&gt;&gt;    I think it runs either in Linux or Windows but I would have to confirm that.<br>
&gt;&gt;    I&#39;ll probably use GVim for my initial editor. I&#39;m looking for a middle of<br>
&gt;&gt;    the road IDE, similar to what NetBeans would do for Java. I&#39;ve pretty much<br>
&gt;&gt;    concluded that Eclipse is too complicated for me to try to be learning at<br>
&gt;&gt;    the same time I&#39;m learning the programming language. If anyone has any<br>
&gt;&gt;    suggestions for resources, IDE&#39;s, user groups, online groups, etc., I&#39;d<br>
&gt;&gt;    appreciate knowing about them. I always prefer things that can run on either<br>
&gt;&gt;    Linux or Windows (up to Win7). I doubt I&#39;ll ever own a Mac, unless I have<br>
&gt;&gt;    money to burn and need it for some reason, and I doubt I&#39;ll be upgrading to<br>
&gt;&gt;    Windows 8 and the &quot;Metro&quot; interface.<br>
&gt;&gt;    I&#39;ve already picked up the book Sams Teach Yourself C++ in 1 Hour per Day,<br>
&gt;&gt;    and  plan  to be working through that prior to getting into the formal<br>
&gt;&gt;    classroom. I&#39;d prefer any resources I use to be compatible with the C++11<br>
&gt;&gt;    standard that was approved last year.<br>
&gt;&gt;    Thanks in advance for any assistance.<br>
&gt;&gt;    Sincerely,<br>
&gt;&gt;    Ron<br>
&gt;&gt;    --<br>
&gt;&gt;    Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.<br>
&gt;&gt;    Please excuse my potential brevity.<br>
&gt;&gt;    (To whom it may concern. My email address has changed. Replying to former<br>
&gt;&gt;    messages prior to 03/31/12 with my personal address will go to the wrong<br>
&gt;&gt;    address. Please send all personal correspondence to the new address.)<br>
&gt;&gt;    (PS - If you email me and don&#39;t get a quick response, you might want to<br>
&gt;&gt;    call on the phone. I get about 300 emails per day from alternate energy<br>
&gt;&gt;    mailing lists and such. I don&#39;t always see new email messages very quickly.)<br>
&gt;&gt;    Ron Frazier<br>
&gt;&gt;    <a href="tel:770-205-9422" value="+17702059422">770-205-9422</a> (O) Leave a message.<br>
&gt;&gt;    linuxdude AT [1]<a href="http://techstarship.com" target="_blank">techstarship.com</a><br>
&gt;&gt;<br>
&gt;&gt; References<br>
&gt;&gt;<br>
&gt;&gt;    1. <a href="http://techstarship.com/" target="_blank">http://techstarship.com/</a><br>
&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Ale mailing list<br>
&gt;&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Byron A. Jeff<br>
&gt; Department Chair: IT/CS/CNET<br>
&gt; College of Information and Mathematical Sciences<br>
&gt; Clayton State University<br>
&gt; <a href="http://cims.clayton.edu/bjeff" target="_blank">http://cims.clayton.edu/bjeff</a><br>
&gt; _______________________________________________<br>
&gt; Ale mailing list<br>
&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>  Ed Cashin &lt;<a href="mailto:ecashin@noserose.net">ecashin@noserose.net</a>&gt;<br>  <a href="http://noserose.net/e/">http://noserose.net/e/</a><br>  <a href="http://www.coraid.com/">http://www.coraid.com/</a><br>