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

If you’re looking for a New Year’s resolution, let me suggest an idea that you might not have considered: You should learn computer programming. Specifically, you should sign up for Code Year, a new project that aims to teach neophytes the basics of programming over the course of 2012. Code Year was put together by Codecademy,* a startup that designs clever, interactive online tutorials. Codecademy’s founders, Zach Sims and Ryan Bubinski, argue that everyone should know how to program—that learning to code is becoming as important as knowing how to read and write. I concur. So if you don’t know how to program, why not get started this week? Come on, it’ll be fun!

Code Year’s minimum commitment is one new lesson every week. The company says that it will take a person of average technical skill about five hours to complete a lesson, so you’re looking at about an hour of training every weekday. That’s not so bad, considering that the lessons are free, and the reward could be huge: If you’re looking to make yourself more employable (or more immune from getting sacked), if you’d like to become more creative at work and in the rest of your life, and if you can’t resist a good intellectual challenge, there are few endeavors that will pay off as handsomely as learning to code.

(Excerpt) Read more at slate.com ...


TOPICS: Business/Economy; Computers/Internet; Education; Reference
KEYWORDS: codeacademy; codeyear; coding; computers; education; onlinelearning; programming; tech
Navigation: use the links below to view more comments.
first previous 1-20 ... 61-8081-100101-120121-134 next last
To: djf
Learn Cobol now and a person could write their own ticket!

That is so true.

And try explaining IMS to someone whose life is pure RDB and they'll be lost in seconds.

But if you are a core datawarehousing guy, jobs are also available -- I got my job here in Poland even while I was learning the language (Polish this time ;-P) -- but I think the Cobol and MVS/JCL experience mixed with unix knowledge helped in the interview!

81 posted on 01/13/2012 7:22:33 AM PST by Cronos (Party like it's 12 20, 2012)
[ Post Reply | Private Reply | To 76 | View Replies]

To: Bobalu
Thanks so much! Definitely put me down. I think a lot of people will sign up once they realize they will not only learn the languages Assembly and C, but they will do it on a device that they can get to do all kinds of great stuff.

C is the backbone of two other top languages today C++ and Java. Assembly is the language of the computer.

This will put us freepers way ahead on the technical curve.

82 posted on 01/13/2012 7:35:58 AM PST by Paul Moss
[ Post Reply | Private Reply | To 28 | View Replies]

To: Bobalu

Sounds like a fun hobby. I’d follow along, if for no other reason than to brush up on C and assembly programming.

But if I may ask:

1 - Can you be more specific about what these little devices can be used for, especially around the home for a hobbyist. I have no idea what value these would have, however miniscule.

2 - Are these free compilers/IDEs only Windows based, or are there good equivalents in the Linux world?

3 - Do these involve soldering and circuit board work?


83 posted on 01/13/2012 7:37:34 AM PST by fnord (defending civilization from luddites, while knowing I will destroy it myself one day)
[ Post Reply | Private Reply | To 77 | View Replies]

To: Sonny M
If you have kids, I highly recommend this book to get them started


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

To: fnord

Look here for some project ideas
http://hackaday.com/category/attiny-hacks/
It’s like asking what can you do with a computer?
The answer is, a zillion different things.

People manage to use Linux to program these chips.. I use
an old XP box on the bench to do it.. I use Linux to surf the web since it’s far safer than Win. I’m sure a google search would enlighten about using Linux with the Atmel processors. Also, try this link http://www.ladyada.net/learn/avr/

You can build a lot of projects on a solderless breadboard but I recommend learning some soldering skills. I have seen quite a few tiny85 projects done as point to point soldered projects without even a circuit board.


85 posted on 01/13/2012 7:52:24 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 83 | View Replies]

To: Sonny M
public class Joke {
	public static void main(String[] args) {

		Guy guy = new Guy();
		Robot robot = new Robot();

		for (int i = 0; i < 3; i++) {
			guy.enterBar();
			robot.ask(guy, "What will you have");
                        guy.order(robot,"Martini");
                        Drink drink = robot.make("Martini");
                        robot.giveDrink(drink,guy);
                                               
  
			int iq = i == 0 ? 150 : i == 1 ? 100 : 50;

			conversation(robot, iq);
			guy.leaveBar();
		}

	}

	private static void conversation(Robot robot, Integer iq) {

		if (iq <= 50)
			robot.talk(new String[] { "Are you still happy you voted for Obama" });
		else if (iq < 150)
			robot.talk(new String[] { "NASCAR", "Budweiser","John Deere tractors" });
		else
			robot.talk(new String[] { "physics", "space exploration","medical technology" });
	}
}

86 posted on 01/13/2012 7:53:42 AM PST by dfwgator (Don't wake up in a roadside ditch. Get rid of Romney.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Bobalu
The ATTiny is exactly the right approach for this sort of thing. You can build interesting little devices to do stuff that interests you that ***you can't buy***

You will learn assembly and how a modern microprocessor works in detail and how to program in C. If you have a PC and an internet connection you can get the very best of programmers (the Dragon) for a mere $50.

This is a sweet deal folks. If you are interested in this sort of thing this is the way to go.

87 posted on 01/13/2012 8:03:43 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 77 | View Replies]

To: Sonny M

Why not just take a shortcut and proceed directly to arguing about which programming language or editor is superior?


88 posted on 01/13/2012 8:06:41 AM PST by B Knotts (Just another Tenther)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Sonny M
I have no idea what any of that means, LOL.

Well, allow me to explain:

Class-based object-oriented languages, such as Java and C++, are founded on the concept of two distinct entities: classes and instances.

•A class defines all of the properties (considering methods and fields in Java, or members in C++, to be properties) that characterize a certain set of objects. A class is an abstract thing, rather than any particular member of the set of objects it describes. For example, the Employee class could represent the set of all employees. •An instance, on the other hand, is the instantiation of a class; that is, one of its members. For example, Victoria could be an instance of the Employee class, representing a particular individual as an employee. An instance has exactly the properties of its parent class (no more, no less).

A prototype-based language, such as JavaScript, does not make this distinction: it simply has objects. A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object's properties.

In class-based languages, you define a class in a separate class definition. In that definition you can specify special methods, called constructors, to create instances of the class. A constructor method can specify initial values for the instance's properties and perform other processing appropriate at creation time. You use the new operator in association with the constructor method to create class instances. JavaScript follows a similar model, but does not have a class definition separate from the constructor. Instead, you define a constructor function to create objects with a particular initial set of properties and values. Any JavaScript function can be used as a constructor. You use the new operator with a constructor function to create a new object. Subclasses and inheritance In a class-based language, you create a hierarchy of classes through the class definitions. In a class definition, you can specify that the new class is a subclass of an already existing class. The subclass inherits all the properties of the superclass and additionally can add new properties or modify the inherited ones. For example, assume the Employee class includes only the name and dept properties, and Manager is a subclass of Employee that adds the reports property. In this case, an instance of the Manager class would have all three properties: name, dept, and reports.

JavaScript implements inheritance by allowing you to associate a prototypical object with any constructor function. So, you can create exactly the Employee — Manager example, but you use slightly different terminology. First you define the Employee constructor function, specifying the name and dept properties. Next, you define the Manager constructor function, specifying the reports property. Finally, you assign a new Employee object as the prototype for the Manager constructor function. Then, when you create a new Manager, it inherits the name and dept properties from the Employee object.

In class-based languages, you typically create a class at compile time and then you instantiate instances of the class either at compile time or at run time. You cannot change the number or the type of properties of a class after you define the class. In JavaScript, however, at run time you can add or remove properties of any object. If you add a property to an object that is used as the prototype for a set of objects, the objects for which it is the prototype also get the new property.

89 posted on 01/13/2012 8:10:41 AM PST by Lazamataz (Every single decision Obama makes is to harm America.)
[ Post Reply | Private Reply | To 8 | View Replies]

To: Mycroft Holmes

I have a couple of Dragons here..they are nice.

You can find AVR programmers on ebay from China for as little as 3.99 with shipping included. I have not tried using them but I suppose I could get one and see if it would be suitable for use by novices following a tutorial.

http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-/180768377568?pt=LH_DefaultDomain_0&hash=item2a16a28ae0


90 posted on 01/13/2012 8:14:06 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 87 | View Replies]

To: Bobalu
Indeed, cheap programmers are widely available. I have seen directions for homebrew programmers that look nearly free if you have wire, perfboard, and usb connectors. The whole ATTiny deal is pretty well thought out.

AVRStudio 4 was pretty slick but I was forced to move to AVRStudio 5 to use the 4313. It's based on .net so it is slow and clunkey and initially rather buggy. But it got better.

I've done some development under Linux using Eclipse and AVRDude but the Windows/AVRStudio path is probably easier, and if you are using a Dragon for debugging Windows is much easier. Love me some penguin though. Do nothing on Windows but AVR anymore.

91 posted on 01/13/2012 8:27:25 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 90 | View Replies]

To: Mycroft Holmes

Can you elaborate:

“If you have a PC and an internet connection you can get the very best of programmers (the Dragon) for a mere $50.”


92 posted on 01/13/2012 8:28:26 AM PST by killermosquito (Buffalo, Detroit (and eventually France) is what you get when liberalism runs its course.)
[ Post Reply | Private Reply | To 87 | View Replies]

To: djf
I don't know if this will work or not, but here is what I learned BASIC on:


93 posted on 01/13/2012 8:32:48 AM PST by Woodman
[ Post Reply | Private Reply | To 73 | View Replies]

To: texasx

nah, age is definitely not important, but experience is - the number of hours you spend hammering out a piece of field, trying to solve a particular problem using the language you’re using etc.


94 posted on 01/13/2012 8:35:01 AM PST by Cronos (Party like it's 12 20, 2012)
[ Post Reply | Private Reply | To 71 | View Replies]

To: killermosquito
What I meant to convey is that the high dollar programmer in the AVR world is $50 (really, add another $20 to be able to program several hundred different devices easily, a nit). There is a huge user community online and a wealth of information and examples of how to proceed.

If you want a single chip microprocessor that costs about a buck and is easy to program AVR is the answer.

95 posted on 01/13/2012 8:41:47 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 92 | View Replies]

To: Mycroft Holmes

It was a real mistake not to make studio5 a cross platform IDE.

Atmel needs to support Win/Lin/Mac

I still mostly use studio4.


96 posted on 01/13/2012 8:42:06 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 91 | View Replies]

To: Bobalu

I do java programming, but have taken a few C classes but haven’t kept up with it.

I’ve always wanted to do a few ‘close to the metal’ projects and have looked at Arduino boards as a way to start. I’d follow your blog if you put it together.

I don’t really have any professional need for it, but it would be fun and different.


97 posted on 01/13/2012 8:47:17 AM PST by Betis70 (Bruins!)
[ Post Reply | Private Reply | To 28 | View Replies]

To: Betis70

Arduino is cool but I’d rather play with the bare chips myself.

Cheaper projects and you end up knowing a lot more IMO.


98 posted on 01/13/2012 8:49:53 AM PST by Bobalu (Newt is just the a-hole we need at a time like this)
[ Post Reply | Private Reply | To 97 | View Replies]

To: Bobalu
I liked Studio4 better as well, but the 4313 was a new part and there were "issues" with Studio4 that were not going to be resolved. Sigh.

But the AVRStudioX debugging with the Dragon is an incredibly sweet deal. Long ago and far away I designed a hardware emulator for the Z-80 and Z-8000 at a cost of roughly a zillion dollars. That didn't have anything on what is available today for free. Yea progress!

99 posted on 01/13/2012 8:52:17 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 96 | View Replies]

To: Betis70

Arduino looks like fun. I haven’t touched though. AVR is sooo easy that I think the direct to proto-board, build just exactly what you want is the way to go. I love the idea of open source hardware though.


100 posted on 01/13/2012 8:56:09 AM PST by Mycroft Holmes (Returned for regrooving...)
[ Post Reply | Private Reply | To 97 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-20 ... 61-8081-100101-120121-134 next 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