Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

When a new programming language or framework gets introduced (or I come across it the first time ), I want to play with it to get a handle on how things work in that new way. Can you recommend any good list of small apps to be built, that can get me up to speed with the new technology ?. A sort of todo list that can be done on a weekend... tiny software solutions that can be implemented quickly.

To be more concrete ....
1) print out "Hello World !" to the standard console
2) declare, initialize, populate, read an array/collection
3) create, read from , write to , and finally close a file
4) ?
5) ?
6) ?
.
. ..... tasks getting progressively involved .. .
. .
??) ?

share|improve this question
It seems odd to have the same series of tasks for potentially wildly different languages. – David Thornley Oct 25 '10 at 21:35
@David ... your objection is legitimate if we insist that the tasks be specified in detail. But that doesnt have to be the case. The "Hello world" is a great example of what I am asking for here. Think of the list being the helloworld apps for file i/o, internetworking, collections , databasing, etc ... areas that no programming professional or enthusiast can afford to ignore. – mumtaz Oct 25 '10 at 21:57
What is the I/O for HTML, XML, XSD? How can Silverlight/Java Applet/Flash file open/close a file if its' in a security sandbox? Not all of these concepts work in all technologies. – JBRWilkinson Oct 25 '10 at 22:22
@JBRWilkinson: "Not all of these concepts work in all technologies" ... that's true, but same can be said of any programming concept. There isn't any meaningful "Hello world" for XML, SQL etc. but that doesn't invalidate its utility as an introducer to a great many languages/frameworks/platforms. – mumtaz Oct 25 '10 at 22:34
I think my use of the word "technology" is a bit misleading. I change it to language/framework/platform. – mumtaz Oct 25 '10 at 22:41
show 1 more comment

6 Answers

How about a url shortening service? I find it much easier and faster to create than a todo list or blog engine, and it's quite handy in the real world too. I'm actually building one now.

share|improve this answer

I would find a beginners tutorial and follow the samples in it, creating them from scratch (not copy/pasting), understanding the basic concepts. Usually, many tutorials point out where to extend this or that sample to play with more features.

Also, if the framework/toolset/technology is interesting, new ideas will come to your mind while stepping through the tutorial.

share|improve this answer

Write a blog engine; that seems to be the new hello world these days.

But seriously, I'd suggest coming up with the problem first:

  • What is it you want to accomplish?
  • What problem needs solving?
  • What do you need built?
  • What itches do you want to scratch?

In other words, pick the problem you want to solve first, then try a new tool to solve it. Doing it the other way around feels backwards to me.

share|improve this answer
"blog engine" lol. – Chris Oct 25 '10 at 23:03
yeah ...i missed a couple of beats @ "blog engine" ..ha ha – mumtaz Oct 25 '10 at 23:12

Write a TODO list app.

share|improve this answer
+1 maybe not a TODO list app, but something. Give yourself a real world task to tackle, it is a personal project so it doesn't matter how long it takes or how broke it is in the beginning. – Toby Oct 25 '10 at 22:50
1  
Building a project for fun is the way to go. Greatest primer comes from trying to do something in language X. Learn from experience and hello world will sure get you into the environment but not much farther. Great answer. – Chris Oct 25 '10 at 23:03
  1. Write a set of classes to demonstrate OO Principles(inheritence, polymorphism, interfaces)

  2. Write a simple UI to take in User Input and display it back.

  3. Execute CRUD against a database.

share|improve this answer
Can you please add a couple of basic networking tasks ... i mean a kind of "hello world" for the web/internet ? – mumtaz Oct 25 '10 at 20:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.