fortypoundhead.com

15 tips to learn a new programming language

Posted On 2010-12-20 by FortyPoundHead
Keywords:
Tags: General Tip 
Views: 1703


I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time.

Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep printed copy of the language syntax reference card handy. (There are many reference cards available over internet. Type in 'language to learn' + 'reference card' in google.)

First of all, get familiar with Compiler, compiler option, editor shortcuts or integrated development environment (IDE). Start with a simple 'Hello World' program. Compile it. Use basic functionalities of debugger like setting break points, printing variable values, moving to the next or specific position, stopping debugger etc.

To grasp basics of a new language quickly, here are the exercises I use. Remember some programs may not good for beginners.

  1. Display series of numbers (1,2,3,4, 5....etc) in an infinite loop. The program should quit if someone hits a specific key (Say ESCAPE key).

  2. Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers.

  3. Accepting series of numbers, strings from keyboard and sorting them ascending, descending order.

  4. Reynolds number is calculated using formula (D*v*rho)/mu Where D = Diameter, V= velocity, rho = density mu = viscosity
    Write a program that will accept all values in appropriate units (Don't worry about unit conversion)
    If number is < 2100, display Laminar flow,
    If itís between 2100 and 4000 display 'Transient flow' and
    if more than '4000', display 'Turbulent Flow' (If, else, then...)

  5. Modify the above program such that it will ask for 'Do you want to calculate again (y/n),
    if you say 'y', it'll again ask the parameters. If 'n', it'll exit. (Do while loop)

    While running the program give value mu = 0. See what happens. Does it give 'DIVIDE BY ZERO' error? Does it give 'Segmentation fault..core dump?'. How to handle this situation. Is there something built in the language itself? (Exception Handling)

  6. Scientific calculator supporting addition, subtraction, multiplication, division, square-root, square, cube, sin, cos, tan, Factorial, inverse, modulus

  7. Printing output in different formats (say rounding up to 5 decimal places, truncating after 4 decimal places, padding zeros to the right and left, right and left justification)(Input output operations)

  8. Open a text file and convert it into HTML file. (File operations/Strings)

  9. Time and Date : Get system time and convert it in different formats 'DD-MON-YYYY', 'mm-dd-yyyy', 'dd/mm/yy' etc.

  10. Create files with date and time stamp appended to the name

  11. Input is HTML table, Remove all tags and put data in a comma/tab separated file.

  12. Extract uppercase words from a file, extract unique words

  13. Implement word wrapping feature (Observe how word wrap works in windows 'notepad')

  14. Adding/removing items in the beginning, middle and end of the array.

  15. Are these features supported by your language: Operator overloading, virtual functions, references, pointers etc.


About the Author

FortyPoundHead has posted a total of 1974 articles.

 


Comments On This Post

No comments on this post yet!


Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.


Your IP address is:54.80.169.119

Before you can post, you need to prove you are human. If you log in, this test goes away.




Recent Forum Posts

Advanced search added
dwirch posted on September 23, 2017 at about 13:44 in Site News

Job Spammer: Gaurav Mehta - AgreeYa Solutions
dwirch posted on September 22, 2017 at about 10:35 in Spammers

Job Spammer: Prutha Siri - Javelin Systems
dwirch posted on September 10, 2017 at about 6:15 in Spammers

New security implemented
dwirch posted on September 7, 2017 at about 7:16 in Site News

Malicious IP Checker Companion Tool
dwirch posted on August 12, 2017 at about 20:24 in Site News

Job Spammer: Steve Adams
dwirch posted on August 8, 2017 at about 7:44 in Spammers