You are not logged in. Please login at www.codechef.com to post your questions!

×

Beginners Guide On Programming Languages

After getting a a lot of question on Which Programming Language to choose here is my final answer :

1. Python

Truly, the very best coding language to analyze for the first time learners is Python. Python is open supply and unfastened to apply, even for commercial applications. It's also used and called a scripting language, permitting programmers to roll out huge quantities of without difficulty readable and useful code in brief intervals of time. Further, it’s additionally dynamic and helps object-orientated, procedural, and useful programming styles, among others. Thanks to its flexibility, Python is one of the most broadly used excessive-degree programming languages these days.

There are some remarkably respectable tutorials which are clean to observe, and there's less of an emphasis on syntax which might fit beginners. It is a great stepping stone for shifting on and studying different item-orientated languages.

2. Java

Java is one of the most famous and fashionable reason programming languages inside the world. Released in 1995, Java 1.0 was primarily based on the principle of ‘Write once Run anywhere’. It is a category-based totally, item-orientated language and designed to be transportable, which means that you can discover it on all systems, working structures and gadgets.

Java is commonly used to construct Android apps, computing device apps, and video games. It's also usually used as a server-side language for agency-level backend development. Further, it provides to the talents of the C++ language. So, if you already have the know-how of C++, it'll assist with gaining knowledge of Java, but is not necessary. Despite the fact that, Java is a barely complicated programming language for the beginners, programmers agree that it can be a totally beneficial first programming language to analyze. But, it has a fundamental set of middle standards to help you as you move to other languages and technology.

3. C/C++

C is often used to software gadget software and is the lingua franca of working systems. C has motivated almost all programming languages, in particular, C++. So, in case you recognise C nicely, you will in all likelihood have much less issue choosing up different famous languages. Seeing that C takes greater complicated code to perform simple responsibilities, beginners may also discover it difficult to preserve themselves influenced if they choose it as their first language. But, an expertise of C will certainly help you as a programmer.

However, C++ is a powerful language based totally on C, which has added object-oriented features like instructions to the language, on the side of digital features and templates. C++ is some other of the world’s most popular programming languages and is designed for a programming systems software program. It's miles nevertheless widely used to construct games/sports engines, laptop apps, cell apps, and internet apps. C++ is powerful and speedy.

4. Ruby

Similar to Python, Ruby is easy, readable and for people who don’t have any sort of programming revel in. Ruby is a dynamic, item-oriented scripting language that is used within the development of websites and mobile apps.

While mastering Ruby, you don’t must learn 10000's new instructions, like in a few other coding languages. Its developer, Yukihiro Matsumoto, has designed it to be easy and practical.

It is straightforward to analyse with a beneficial 20 minute short begin guide on the official Ruby internet site. It is easy and easy to study with a massive community at the back of it of programmers inclined to reply questions. There are loads of documentation available in addition to exceptional assets to help you to apprehend Ruby from the very starting.

Next Steps :

1) Learning Programming Language : http://tutorialspoint.com (My Fav.)

2) Links to Data Structures and Algorithms :

https://discuss.codechef.com/questions/48877/data-structures-and-algorithms

Suggestion/Edits are most welcome.(Comment Below)

asked 18 Apr, 23:11

rohit_jere_rj's gravatar image

1★rohit_jere_rj
4527
accept rate: 12%

edited 19 Apr, 08:53


Some suggestions which might help-

  • in competitive coding, python is extremely sensitive to syntax. In case ehere test cases dont follow the specified format strictly (due to negligence of setter or some error), python fails miserably. On the other hand, C/C++ are able yo deal with such issues very easily.
  • Some links to learn the languages would be nice. I find edx courses like CS50, and that MIT course for python quite decent.
  • Java and C/C++ are usually in academic curriculum/syllabus of many schools/colleges. They are a good choice to start if local help is available.
  • Some links to websites would be really appreciated

Nice effort from ur side, must ve taken time to write!! Keep it up dear :)

link

answered 19 Apr, 01:06

vijju123's gravatar image

3★vijju123
2.8k18
accept rate: 12%

And also add these two links in the above list:

As far as language is concerned, in my view:

  • Learn Python if you're totally new in programming and haven't planned to dive into competitive programming right away, because it's awesome, easy and full of libraries.
  • Learn C/C++ if you want to be wizard at competitive programming( preferred C++ because of speed and STL) or want to be a system programmer(preferred C, close to hardware) because these two languages are very low level language.
  • Java can be your second language to learn if you want to start with competitive programming(C/C++) or Web Dev(python). But you must learn java if you want to start with Android Development.

For Competitive Programming: There is a one major difference I see among C/C++, python and java- python and java have build-in support for big integer types but C/C++ does not have any such build-in big integer types.

Despite all, good coders are never limited to any programming language because languages are only tools at the end of the day. Every language has its own pros/cons, so idea of exploring(once you have a good grasp on one language) would be better.

HappyCoding!

link

answered 20 Apr, 15:03

ardentcoder's gravatar image

2★ardentcoder
(suspended)
accept rate: 15%

edited 20 Apr, 15:38

Very nicely and precisely discusses. Thank you

link

answered 20 Apr, 04:49

mkbod's gravatar image

0★mkbod
563
accept rate: 50%

@rohit_jere_rj, Thanks for the quick introduction.

link

answered 20 Apr, 18:46

stevegeek123's gravatar image

0★stevegeek123
462
accept rate: 25%

Thanks for ur concern for us(beginners) and truly speaking c and c++ languages are more reliable to solve any code.

link

answered 24 Apr, 11:05

shashwat_sahu's gravatar image

0★shashwat_sahu
832
accept rate: 18%

For competitive programming Python or Java is less used as it takes more to time to execute a same program than C/C++. C++ is widely used since it has rich libraries.

Well summarized friend! :)

link

answered 2 days ago

ayan_nitd's gravatar image

3★ayan_nitd
613
accept rate: 28%

You've listed Python on no.1. There's no doubt Python is a remarkable programming language. It has short syntax, built-in functions for almost every operation. Custom modules and built-in modules also contain advanced functions.

But when it comes to competitive coding I personally don't prefer Python. The time limit provided for Python is 5x(time limit of c/c++), for the same problem time limit for c++ is 1 or 2 seconds. I am a big fan of C++.

Nice job @rohit_jere_rj it's a pretty interesting list of programming languages, I definitely agree.

link

answered 18 Apr, 23:48

only4's gravatar image

3★only4
1.1k19
accept rate: 16%

edited 19 Apr, 02:12

In terms of learning a coding language for 1st time.

(18 Apr, 23:49) rohit_jere_rj1★
2

@only4 in competitive programming the time you take to write the program is more important than the runtime of the program (as long as the judge provides adjusted time limits, as Codechef does), which is a point in favour of Python rather than C++.
Also a correction, the default time limit for Python is 5x the standard time limit, and not a strict 10 seconds, as specified here.

(19 Apr, 01:32) meooow6★

Thanks for correcting me @meooow. I agree that time we take to write the program is more important than the runtime of the program. But we need to wait 5x times (than people who are writing in c++) to know the result. Please correct me if I'm wrong.

(19 Apr, 02:11) only43★
1

@meooow Can I achieve 6 stars(Rank 58) like you with just practice, you can see my 3 stars I am trying to solve more problems but there's a barrier of 3.In APRIL17 I solved 4 problems. Problems were easy this time so I got 470(4x100 + 10 + 25 + 45). Hackerrank is the only place where I practice algorithms.

I know it's my personal question but please share your views, a lot of people have the same problem

(19 Apr, 02:37) only43★
1

@meooow is one of the most decent coder and one of the best personality i met. Even i wish to know his secret :)

(19 Apr, 05:26) vijju1233★

Agreed! ....

(19 Apr, 09:00) only43★
2

@only4 of course you are right about the extra waiting time, but to each his own :)
About my rank, even I was surprised to see it! And thanks for the kind words both of you :P
Well practice always helps but I feel that to solve any problem you need two things, determination and time. For example @only4 I can see that you skipped CLIQUED and solved CHEFDIV. I don't know whether you skipped it because it's a graph problem or because time was scarce, but I'm sure you would have been able to solve it had you put in effort. So that's the only advice I can offer, just keep trying :)

(20 Apr, 23:10) meooow6★

@meooow Thanks for sharing your views. I am feeling more confident now.

(22 Apr, 16:05) only43★
showing 5 of 8 show all

You should start with python. But if u want to do competitive programming, i recommend you to learn c++ as well because in a lot of problems the same solution in python will give TLE and in c++ AC even after the 5X multiplier. I has happened to me about 15-20 times. This really irritates me in contests. And also in most CP websites they don't even give that multiplier.

link

answered 19 Apr, 15:06

mathecodician's gravatar image

5★mathecodician
1.7k214
accept rate: 8%

Nice Summary! Thanks for the information.

link

answered 19 Apr, 00:15

newone123's gravatar image

0★newone123
734
accept rate: 0%

toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported
  • mathemetical formulas in Latex between $ symbol

Tags:

×1,436
×999
×860
×650
×294
×185
×30
×29

Asked: 18 Apr, 23:11

Seen: 551 times

Last updated: 2 days ago