Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

You Need To Learn How To Program
Slate ^ | Wednesday, Jan. 4, 2012, at 4:48 PM ET | Farhad Manjoo

Posted on 01/13/2012 1:08:17 AM PST by Sonny M

click here to read article


Navigation: use the links below to view more comments.
first previous 1-5051-100101-134 last
To: jonrick46

In my humble opinion if you aren’t learning C# (c-sharp) or Java you are wasting your time. Most all new development (including phone apps) are done in one of these 2.


101 posted on 01/13/2012 8:57:13 AM PST by LivingNet
[ Post Reply | Private Reply | To 5 | View Replies]

To: Mycroft Holmes

I take it from your handle that you are a Sherlock Holmes fan :-)

I have been getting the old british SH TV series off youtube lately....good stuff. :-)


102 posted on 01/13/2012 9:00:22 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 99 | View Replies]

To: LibWhacker; cartan
"Glorified typing!!! That's all this is. What am I doing here?"

Fortunately not all math professors have such a negative attitude.

Once Google engineer Peter Norvig, the author of the page linked in #15, was giving a talk at Stanford on Python, which is generally considered an unusually powerful programming language. An old professor named John McCarthy happened to wander in. When Norvig concluded his presentation and and asked for questions, McCarthy raised his hand and asked if Python could gracefully manipulate Python code as data. “No, John, it can’t,” responded Norvig.

In 1958, McCarthy, who passed on last October, invented Lisp, the most powerful computer language of them all. Lisp can gracefully manipulate Lisp code as data.

103 posted on 01/13/2012 9:00:50 AM PST by cynwoody
[ Post Reply | Private Reply | To 17 | View Replies]

To: Bobalu

thanks. I’ve never had soldering skills so I’d have that whole skill set to acquire. Please let me know if you decide to do the tutorial.


104 posted on 01/13/2012 9:04:19 AM PST by fnord (defending civilization from luddites, while knowing I will destroy it myself one day)
[ Post Reply | Private Reply | To 85 | View Replies]

To: LivingNet

C# is purely for work on Microsoft OS platforms. It’s Microsoft’s response to Sun Microsystems averting a takeover of Java by MS. If you learn C#, you’re stuck with Windows - great if that’s what you want to develop for, limiting if you intend to spend much time on other ecosystems.

Java dominates Android and FOSS development. Widely used, but not as much as some think.

On Apple systems (OS X and iOS), Objective-C dominates. Like C#, a must-have for the indicated platform, not much use elsewhere.

C++ is the Latin of software. Awkward, powerful, arguably dead, but a great starting point from which you can either branch to newer descendant languages, or to developing for legacy (loosely defined) systems.

Python, Ruby, and a few others are big for web development.

If you’re learning programming for _fun_ start with C++ or Java then consider something entertainingly esoteric like Lisp, Prolog, Forth, or newer equivalents (akin to learning Latin then Japanese, Thai, or Inuit).


105 posted on 01/13/2012 9:11:16 AM PST by ctdonath2 ($1 meals: http://abuckaplate.blogspot.com/)
[ Post Reply | Private Reply | To 101 | View Replies]

To: whd23
Assembler!


106 posted on 01/13/2012 9:14:37 AM PST by ctdonath2 ($1 meals: http://abuckaplate.blogspot.com/)
[ Post Reply | Private Reply | To 61 | View Replies]

To: ctdonath2

Assembler! When you absolutely have to do a USB driver in 2KB.


107 posted on 01/13/2012 9:20:44 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 106 | View Replies]

To: Mycroft Holmes
Just arriving on the scene now is the Rasberry Pi - a serious computer for just $25. Yes - $25. You supply the HDMI monitor and USB keyboard/storage/network, it gives you an otherwise normal computer capable of HD 1080p video. Great for learning programming as you can devote a whole computer to it with no concerns about "messing it up" for little more than pocket change.
108 posted on 01/13/2012 9:23:33 AM PST by ctdonath2 ($1 meals: http://abuckaplate.blogspot.com/)
[ Post Reply | Private Reply | To 87 | View Replies]

To: ctdonath2

I will definitely get me some Rasberry Pi. That looks sweet, very beautifully minimal in an early VW sort of way. I hope it goes somewhere.


109 posted on 01/13/2012 9:39:10 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 108 | View Replies]

To: cynwoody
Lisp can gracefully manipulate Lisp code as data.
And I am still missing this and other Lisp features in every other language. *sigh*
110 posted on 01/13/2012 9:50:58 AM PST by cartan
[ Post Reply | Private Reply | To 103 | View Replies]

To: ctdonath2

Probably starting with Java makes the most sense, now there are other languages that run on the JVM, like Groovy and Scala.

But a well-experienced Java developer can easily make the leap to C# and Objective-C. I am learning Objective-C now for iOS, and once you get through the syntactical differences, it’s pretty easy to pick up. Most of the concepts easily map from Java.


111 posted on 01/13/2012 9:58:32 AM PST by dfwgator (Don't wake up in a roadside ditch. Get rid of Romney.)
[ Post Reply | Private Reply | To 105 | View Replies]

To: ctdonath2; jonrick46
C++ is the Latin of software. Awkward, powerful, arguably dead, but a great starting point from which you can either branch to newer descendant languages, or to developing for legacy (loosely defined) systems.

We're fortunate to have Bjarne Stroustrup, the creator of C++, here in the Lone Star State at Texas A&M where he has taught some freshman introductory courses. It's not unlike having Thomas Edison as a professor for basic electricity theory and practice.

I can't help but recommend his Programming -- Principles and Practice Using C++ book. I'm a crusty old programmer (C, C++, Java, Perl, PHP, Python, LISP...) but this book made me feel like a kid again. It was a joyful experience to rediscover the basics in a new light with a fresh start. Stroustrup's book presumes a blank slate and although he uses C++ as the tool, the lessons are applicable to programming in general. And a manner similar to Latin, C++ is a good fundamental language since so many of the newer OOP languages were inspired if not actually descended from it.

jonrick46: If you're looking to ease into programming and also have fun while doing so, I can heartily recommend this book.

112 posted on 01/13/2012 10:32:16 AM PST by re_nortex (DP...that's what I like about Texas.)
[ Post Reply | Private Reply | To 105 | View Replies]

To: Mycroft Holmes

Just USB? :-)

My first home computer was a ZX-80 with 1KB RAM - total. That included shared video & OS memory. Learned a lot trying to cram tokenized BASIC programs into what little was available.


113 posted on 01/13/2012 10:41:36 AM PST by ctdonath2 ($1 meals: http://abuckaplate.blogspot.com/)
[ Post Reply | Private Reply | To 107 | View Replies]

To: ctdonath2

Ya, there is open source USB code for the ATTiny2313 written in C that can be used to get your bitty little processor talking to the rest of the world. It’s fun to read; there is rather a lot going on with USB.


114 posted on 01/13/2012 10:48:20 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 113 | View Replies]

To: raygun

I love my green screen and green bar paper system. It works.

They’ve been trying to take it away from me for 14 years. They keep taking small bites. “Oh yeah, we forgot to tell you that that file has been migrated to the new system”


115 posted on 01/13/2012 10:55:03 AM PST by listenhillary (Look your representatives in the eye and ask if they intend to pay off the debt. They will look away)
[ Post Reply | Private Reply | To 19 | View Replies]

To: listenhillary

I tried the first week’s lessons. I think they are interesting, but may pose a problem for abject beginners. Finding the syntax errors is too much for the non-programmer.


116 posted on 01/13/2012 11:18:19 AM PST by Poser (Cogito ergo Spam - I think, therefore I ham)
[ Post Reply | Private Reply | To 115 | View Replies]

To: LivingNet
In my humble opinion if you aren’t learning C# (c-sharp) or Java you are wasting your time. Most all new development (including phone apps) are done in one of these 2.

You realize that without 'C', assembler, and Forth there wouldn't be any OS for C# or Java to execute on, right?

117 posted on 01/13/2012 11:56:05 AM PST by whd23 (Every time a link is de-blogged an angel gets its wings.)
[ Post Reply | Private Reply | To 101 | View Replies]

To: whd23
Yes...
I took his question to be which language would give him the best and most new job prospects, not which one would allow him to win the Nerd of the Year contest.
118 posted on 01/13/2012 1:35:43 PM PST by LivingNet
[ Post Reply | Private Reply | To 117 | View Replies]





Slap those Dems!




119 posted on 01/13/2012 3:07:51 PM PST by TheOldLady (FReepmail me to get ON or OFF the ZOT LIGHTNING ping list)
[ Post Reply | Private Reply | View Replies]

To: djf

5 LET S = 0
10 MAT INPUT V
20 LET N = NUM
30 IF N = 0 THEN 99
40 FOR I = 1 TO N
45 LET S = S + V(I)
50 NEXT I
60 PRINT S/N
70 GO TO 5
99 END

Beginners All-purpose Symbolic Instruction Code!!

Yep! Basic BASIC.



Where there's a shell, there's a way.

25 years ago, we had Ronald Reagan, Johnny Cash, and Bob Hope.
Today we have Obama, no cash, and no hope!

If you can't appreciate the pure beauty of the violin after hearing this, something's wrong with your ears.

Or you can get raw with these strings.

How about this gamechanger from America's Got Talent (which they SHOULD have won).

And this YT vid, dedicated to the one and only rdb2, whose eyes are growing dim.

Either way, the violin is sweet yet lethal.

Do it!

120 posted on 01/13/2012 4:46:52 PM PST by rdb3 (><>The mouth is the exhaust pipe of the heart. <><)
[ Post Reply | Private Reply | To 6 | View Replies]

To: LivingNet

Maybe most jobs, but on a flip-side, he’d be competing with hordes of programmers from here, India and China. Sometimes it helps to learn those older languages to get a niche job.

For example, my brother works with hardware engineers and the firmware group. They have a very difficult time finding young programmers with C knowledge or experience. There will likely be a long-term need for firmware programming in C because it is so efficient.


121 posted on 01/13/2012 5:00:38 PM PST by Betis70 (Bruins!)
[ Post Reply | Private Reply | To 118 | View Replies]

To: Bobalu
I'd think that Assembly/Machine Code is beyond the hobby limits.

Now, C. That could be quite useful.

If someone knows C, then they know javascript for browsers, C Sharp/C++ (except for OOP) for stand alone programs, etc.

If they can master the fundamental structures of C, all the For, while, do, if, variables etc, then they got it made as far as any other language goes. Small leap from there.

122 posted on 01/14/2012 12:07:03 AM PST by HeartlandOfAmerica (Geithner: Taxes on 'Small Business' Must Rise So Government Doesn't 'Shrink')
[ Post Reply | Private Reply | To 28 | View Replies]

To: HeartlandOfAmerica

You may be right. Assembly might make it too geeky for a hobbyist.

The ATtiny85 has 8k of flash, enough for a rather large amount of compiled C code.

I’m trying to think up a good name for a blog.


123 posted on 01/14/2012 12:24:03 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 122 | View Replies]

To: Cronos

Yes! Yes! You said it! Trying to solve a particular problem is KEY!

I ended up having to pick up SQL because a project I wanted desperately to get working required it. It came with about half the stuff the full thing would have, and was missing several zones I desperately wanted. I *did* have access to some of the data, from a previous database...in an older format!

Cue the crash course in SQL...all it took was being angry and aggravated enough and sick of the fact no one else seemed to prioritize the things I wanted, and I just sat down and taught myself how to do it.


124 posted on 01/14/2012 3:56:55 AM PST by Fire_on_High (WTB new tagline, PST!)
[ Post Reply | Private Reply | To 94 | View Replies]

To: Sonny M

ping


125 posted on 01/14/2012 4:23:41 AM PST by nathanbedford ("Attack, repeat, attack!" Bull Halsey)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Bobalu
Please keep Assembly. If some think it is too geeky, they can just stick with C. I think having a blog will be a great, painless way to learn Assembly. And we need Assembly because there may be a project someone wants to do where that extra little optimization from Assembly may make the difference between the project working properly or not.

Thanks again for the blog. I'm looking forward to it.

How will we know when it is set up and how to get to it?

126 posted on 01/14/2012 7:12:33 AM PST by Paul Moss
[ Post Reply | Private Reply | To 123 | View Replies]

To: Sonny M

marked


127 posted on 01/14/2012 9:43:44 AM PST by perplyone
[ Post Reply | Private Reply | To 1 | View Replies]

To: Paul Moss; Bobalu
I'd be happy to talk about assembly and the interface between assembler and C which is fairly interesting if you are interested in how C actually works. Also, there is the issue of the optimization level set on the C compiler which can fool you by removing code that you really want in your program without explicitly informing you.

For example, sometime you might want to insert instructions purely for timing purposes that don't do any actual computation. The compiler (thinking it is doing you the favor of improving your code) will remove the instructions that it thinks are "useless" but which are actually providing a critical timing function.

An understanding of assembly allows you to detect when this happens, and other weirdness. There is always other weirdness.

128 posted on 01/14/2012 11:10:56 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 126 | View Replies]

To: jonrick46

What’s your purpose? FORTRAN and COBOL are mainly banks and scientists these days, so probably not. VB? Really, it sucks. C++ is good, but can turn many beginners off programming. JavaScript is pretty good and easy, and is useful for web pages.

Then there’s C#, a pretty easy and elegant language, mainly used for the Windows platform. It’s been my personal favorite for years.

Or you can learn ObjectiveC, not easy, but you’ll be programming for the iPad, iPhone and Mac.

Many people love Ruby, you might want to check that out.


129 posted on 01/14/2012 5:12:31 PM PST by antiRepublicrat
[ Post Reply | Private Reply | To 5 | View Replies]

To: antiRepublicrat

Thanks for the info. I have written in C, machine language, FORTRAN and Visual Basic. The only one I liked was Visual Basic. It’s good to know that C# has your approval. I might play with it just to dust off my skills.


130 posted on 01/14/2012 11:56:12 PM PST by jonrick46 (Countdown to 11-06-2012)
[ Post Reply | Private Reply | To 129 | View Replies]

To: raygun
NOW a coder needs to know OOP, i.e., everything is a class, and all things belong within their class. It is when the objects of a particular class become instantiated with values that they take on the essence of becoming. Once they are no longer necessary, they no longer are; everything is ethereal.

Sounds like Java. That class stuff is weird.

131 posted on 01/15/2012 12:07:19 AM PST by thecodont
[ Post Reply | Private Reply | To 19 | View Replies]

To: Sonny M

If anyone else is interested in following a simple blog for C beginners just private message me and I will send the address for the blog when I get it started up.

It will be a programming the ATtiny85 in C blog.... very simplified for newcomers to embedded programming.


132 posted on 01/16/2012 6:29:19 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 1 | View Replies]

To: jonrick46

I’m pretty anal retentive when programming, so C# appeals to me. Just write a program using the standard formatting (Visual Studio will even format for you) and it is very clean and readable. Contrast Perl, ugly, hard to read no matter what, although a very powerful language for its purpose. You can’t do everything in C#, like low-level stuff. You’re running in a managed environment so you can’t play fast and loose with pointers and other such things. OTOH, all that’s taken care of in the environment, and you don’t really need pointers.

I still like machine language though, at least old 8-bit.


133 posted on 01/16/2012 4:06:43 PM PST by antiRepublicrat
[ Post Reply | Private Reply | To 130 | View Replies]

To: LivingNet

Great point! Focus on C# or Java!


134 posted on 01/16/2012 5:05:44 PM PST by huskerjim
[ Post Reply | Private Reply | To 101 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-5051-100101-134 last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson