Friday, July 29, 2016

Programming languages

Which programming language should i learn at first???!!!!

As soon as you discover that you want to learn a programming language.... a question comes to your mind
"with which language should i start??!!!"
well that is obvious because there is more than 20 used programming language in the programming field
i mean should i learn C or java or maybe python

pic
Let's talk a little about programming language so you can decide on your own

1- C,C++

I started with C,C++ because it was and still the most used and effective programming language in the computers world
it was made by Dennis Ritchie for general-purposes (for software and hardware).
C++

Throughout C++'s life, its development and evolution has been informally governed by a set of rules that its evolution should follow:


1. It must be driven by actual problems and its features should be useful immediately in real world programs.
2. Every feature should be implementable (with a reasonably obvious way to do so).
3. Programmers should be free to pick their own programming style, and that style should be fully supported by C++.
4. Allowing a useful feature is more important than preventing every possible misuse of C++.
5. It should provide facilities for organizing programs into well-defined separate parts, and provide facilities for combining separately developed parts.
6. No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer).
7. User-created types need to have the same support and performance as built-in types.
8. Unused features should not negatively impact created executable (e.g. in lower performance).
9. There should be no language beneath C++ (except assembly language).
10. C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment.
11. If the programmer's intent is unknown, allow the programmer to specify it by providing manual control.

why should i learn C++??!!!

Workplace :
any project where performance is a constraint will likely use C++. Even all the parallel programming languages/techniques (Cuda, MPI, etc)
rely on your knowledge of C++ (pointer, dereferencing, arithmetic, etc) to accomplish a task.
In the field of computer architecture, for instance, every famous simulator out there is written in C++.
Embedded systems (an area that keeps growing) is highly biased towards C. Operating Systems, Computer Networks, Graphics.. yeap, most projects are coded in C++.

Interviewing :
Most programming interview questions are meant to be written in C++ given they often focus on Linked list, BST, Heaps.
Although you can code all these in other languages, doing pointer arithmetic in C++ is highly beneficial
and many interviewers explicitly ask you to program it in C/C++.

In general :
there is absolutely no other language more worthwhile learning than C/C++ (even though it might not be BEST language).
Every field has its preferred language (web-> PHP, database->mySQL, scripting->Perl,Python, Computational->matlab, etc)
but in general you just can't go wrong with C++.

Is C++ hard to learn??!!!

Well yes it is, but let's think about the benefits of learning it, you can use for whatever you want (hardware or software),
if you learned C++, you will definitely have job in computers field, if you understood C++, all other programming languages
will be easy to learn, and C++ is not going to be old, i mean C++ can't be ignored even after several of years

What was made using C or C++ ??!!!

Almost everything you know, even some of programming languages are based on C++, Linux is based 100% on C++, 90% of windows programs, Robots programming is done
using C or objective C, video Games, a lot of operating systems, and a lot a lot of what you are using deily

why C++??!!!

C,C++ are very fixable language; a program programmed by c++ can be done in several ways so you don't have to follow a theory or a method
you can just invent your way and that what makes a lot of fun for the programmers

2- Java

Java is a general-purpose, concurrent, class-based, object-oriented programming language that is designed to minimize implementation dependencies.
It relies on a Java virtual machine to be secure and highly portable. It is bundled with an extensive library designed to provide
a full abstraction of the underlying platform. Java is a statically typed object-oriented language that uses a syntax similar to C++, but incompatible.
It includes a documentation system called Java-doc.
java

There were five primary goals in the creation of the Java language:


1- It must be "simple, object-oriented, and familiar".
2- It must be "robust and secure".
3- It must be "architecture-neutral and portable".
4- It must execute with "high performance".
5- It must be "interpreted, threaded, and dynamic".

why should i learn Java??!!!

. Lots of information

That said, each language has its strong and weak points. In my opinion, a great language to have an understanding of is Java. It can be summed up into one, simple sentence: Java is a mature language. This leads to:
Due to how long Java has been around, almost any question you can imagine has already been asked, answered, indexed, and democratically perfected through up votes on the Internet. It is seriously hard to stump a search engine with a Java coding problem.

. An incredible toolset

Java has a very rich API, and an incredible supporting open source ecosystem. There are tools upon tools for just about everything you would like to do. There is also an amazing community driven process that ensures growth in the right direction

. Software that leads by example

Java is an Object Oriented language. It internally embraces best practices of object oriented design and strongly suggests that you learn and follow them. It also heavily promotes correct usage and many of the documented Design Patterns use Java as the language. Understanding design patterns can lead to much more maintainable code.

. Killer editors

The IDEs available for Java will blow your mind. Due to its strong typing, you will not only be notified immediately of errors, but you will also be given suggestions that will refactor and reformat your code with clear explanations and extreme ease. After using them, most people wonder how they ever coded before.

. Omnipresence

Java is running just about everywhere you can imagine. It is usually where most large applications end up due to its scalability, stability, and maintainability. There is also currently a gigantic push in the Java community to be the leader of the IoT (Internet of Things). And it is coming. Very fast. There will be a time in the near future when your alarm clock will automatically start brewing your coffee pot, and it will most likely be Java doing that.

. Lots of available jobs

There are tons of open positions waiting for you due to Java is widespread reach. Many different sectors embrace the language, and you can be pretty certain you will land a job in just about any job market you like.

. Android adoption


All  Android Development track, you can publish that app you have always dreamed of building.
d Apps are written in Java. By taking our


. Ease of learning

Java is a verbose language, which at first can seem daunting. However, after learning the basics you will find that you can easily grab onto more advanced concepts because the code is very explicit. Plus, there are great courses (wink, wink, nudge, nudge) out there that can ease you into this powerful language.
So what are you waiting for?  It is time to learn Java.

Is Java hard to learn??!!!

well not as hard as C++ learning but it is a little bit special. BUT anyone with no skills can learn it easily

what was made using java??!!!

The famous OS Android, video games, and lots of programs

why Java??!!!

java is getting very popular and useful every day

3- Python

Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax
allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java.
The language provides constructs intended to enable clear programs on both a small and large scale
The core philosophy of the language is summarized by the document The Zen of Python (PEP 20), which includes aphorisms such as:
.Beautiful is better than ugly
.Explicit is better than implicit
.Simple is better than complex
.Complex is better than complicated
.Readability counts

why should i learn python??!!!

1. Easy-to-Learn

Let us face it. Learning a programming language doesn't sound as exciting as a break dance competition on an aircraft carrier. Luckily, Python was designed with the newcomer in mind. Python reads like kindergarten math and is easy on the layman's eye. The use of white space and common expressions has eliminated the need for tedious variable declarations and unattractive curly brackets. Python also requires less code to complete basic tasks, making it an economical language to learn. Python code is often 3-5 times shorter than Java, and 5-10 times shorter than C++. But while Python is easy to learn in itself, we all know the peril of studying alone and unprepared. Homer Simpson did that in college and look where it got him. Fortunately, the Python community has amassed an ample collection of resources to keep you safe and productive.
The famous comedy troupe Monty Python also inspired the name of the Python programming language.

2. Your Stepping Stone

Python can be your stepping stone into the programming universe. Employers are looking for fully stacked programmers and Python will help you get there. Python is an object-oriented language, just like JavaScript, C++, C#, Perl, Ruby, and other key programming languages. For people planning to become software developers, learning this type of programming in one area will help you adapt easily in other environments.
Specifically, a working knowledge of Python can be a solid foundation because Python is methodologies can be used in a broad range of applications. For example, Python is inherent organization and architecture can act as your Rosetta Stone when trying to decipher more cryptic programming languages. Here is a brief comparison of Python with two other languages: Ruby and PHP. Ruby has a similar structure to Python while PHP has a very different syntax.
Without prior programming experience, anyone can easily detect the similarities and differences between Python is syntax and those of other languages. Either way, a basic understanding of Python makes jumping into Ruby a breeze, while deciphering a PHP code becomes an easier task. Once you learn the Zen of Python you can use it to help you succeed in crafting code in any language.

3. How About Some Raspberry Pi?

Making programming fun is no easy task, whether your students are;beginners, seasoned veterans, or children. Heck, even the most enthusiastic teachers struggle to get anyone excited about writing code. But miracles do happen once in a while: bridging the gap between abstract computing and real world applications is now as easy as Pi.

4. Money Money Money

If designing a talking skull that sings random tweets from Gary Busey using Python and Raspberry Pi isn't a big enough incentive, then how about the prospect of having a much fatter wallet? Companies such as Google, Yahoo!, Disney, Nokia, and IBM all use Python. In fact, among programming languages,Python had the largest year-on-year job demand growth  at 19%  as of March 2013.Notably, the overall hiring demand for IT professionals dipped year over year by 5% as of January 2014, except for Python programmers which increased by 8.7%. In New York, Python developers ranked #8 of the most in-demand tech workers, making an average of $106k/year. On the other side of the Atlantic, Python programmers also enjoy a strongly rising demand for their skills .

5. It Works Online Too

Web development is still a booming economic prospect for programmers. With Python's vast capabilities, you too can have a piece of the action. Django is the popular open source web application framework written in Python is the foundation of such sites as Pinterest, The New York Times, The Guardian, Bit Bucket, and Instagram. Django is a complete framework that takes the complexity out of web development while still giving you control over as much as you want. As an open-source framework, all the information you need to get started can be found at DjangoProject.com.

Is python hard to learn??!!!

Not at all, it is very easy and can do a lot but the problem is that with python there is only one way to do something
so it is not really a fixable language like java or c++ but still can do it

why python??!!!

easy and useful. so simple as the answer

4- Ruby

ruby Matsumoto has said that Ruby is designed for programmer productivity and fun, following the principles of good user interface design. At a Google Tech Talk in 2008 Matsumoto further stated, "I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language." He stresses that systems design needs to emphasize human, rather than computer, needs:[64] Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves. Ruby is said to follow the principle of least astonishment (POLA), meaning that the language should behave in such a way as to minimize confusion for experienced users. Matsumoto has said his primary design goal was to make a language that he himself enjoyed using, by minimizing programmer work and possible confusion. He has said that he had not applied the principle of least astonishment to the design of Ruby, but nevertheless the phrase has come to be closely associated with the Ruby programming language. The phrase has itself been a source of surprise, as novice users may take it to mean that Ruby's behaviors try to closely match behaviors familiar from other languages. In a May 2005 discussion on the newsgroup comp.lang.ruby, Matsumoto attempted to distance Ruby from POLA, explaining that because any design choice will be surprising to someone, he uses a personal standard in evaluating surprise. If that personal standard remains consistent, there would be few surprises for those familiar with the standard. Matsumoto defined it this way in an interview: Everyone has an individual background. Someone may come from Python, someone else may come from Perl, and they may be surprised by different aspects of the language. Then they come up to me and say, 'I was surprised by this feature of the language, so Ruby violates the principle of least surprise.' Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise. And it means the principle of least surprise after you learn Ruby very well. For example, I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprises me

why should i learn Ruby??!!!


1.You'll enjoy it. You can get a lot of functionality with small amounts of code, compared to other languages. Lots of automation.

2. You'll get to see a working prototype really fast. It's one of Ruby's perks - creating minimum viable products.

3. There's a really involved community. Sort of like a cult around Ruby and by the looks of it, it's only going to grow even more and the language is going to get even more popular.

4. Ruby / Rails developers are highly sought after, as it become more and more popular. Average salaries are also higher, compared to other languages. Being a polyglot, you would be even more competitive on the market

5. if you want to learn things in the security field then Ruby will help you a lot.

Is Ruby hard to learn??!!!

when you want to learn just as a programming language it will be easy but if you want to dig deep into it's details, it becomes very hard

why Ruby??!!!

It is very important for the security work and it is very used in hyper-security companies, it is a little bit easy, and it makes fun

5- HTML+CSS+Javascript

I know what you are thinking about right now, i mean why 3 languages together and they are not even programming languages right?!
yes i know but according to the languages popularity, we had to mention this languages but all together because one of them want be able to stand alone
so if you want to learn html, learn css and js with it to complete your pack
HTML+CSS+JS

why should i learn HTML??!!!

1. Better business communications




Today's businesses are increasingly doing their work online, using a web browser for everything from mail and calendar apps to maintaining project and team notes on intranet sites.
Most wiki frameworks used for business content have a modified, simplified markup language they use by default. But most also accept properly formed HTML formatting, which affords you many more publishing options. Why settle for the minimum?

2. Make updates yourself

If you regularly need areas of your company's website updated and haven't looked into learning a little HTML, you really should. Most minor updates are simple to perform with basic knowledge of HTML and web standards. There's no need to pay a designer to do something you could do as easily as updating a Word document.

3. Visual web tools complicate things

Visual HTML-building tools like Dreamweaver, Muse, Hype, and others can make web design easier. But in most cases they're also generating code that you can easily write yourself, in raw HTML.
And should you need to work outside the box to build something in a way your software doesn't support, you're on your own. The lure of visual web tools can distract you from learning a little HTML; you might find what you need to do is far easier than you expected.

4. Better blogging

Do you blog regularly? Then you owe it to yourself to learn HTML. Sure, you can find visual buttons and toolbars for formatting your text in most modern blog applications, but learning a smidge of HTML coding and perhaps a little CSS and JavaScript will bring far more power to your fingertips than your blogging software could ever provide.
It takes a single line of HTML code to insert movies and media into your posts with confidence, not to mention tackling custom layouts, animated elements, and more.
Customizing your blog's widgets and plug-ins is also far easier with a good understanding of HTML and CSS under your belt.

5. Streamline your life

Knowing HTML can also help out in our day-to-day lives.
It is common knowledge that eBay auctions with visually rich HTML-formatted descriptions usually sell better and faster than less compelling counterparts, so don't get left behind. Adding pizzazz to an Evite invitation, designing a beautiful email message, or freshening up the news on your community group's website are other tasks that only need a little HTML markup savvy to get the job done.
HTML is dead simple to learn (you just need a web browser and a text editor), and once you're comfortable with the basic HTML elements behind each web page, every page you visit becomes a living reference, too.

Is HTML hard to learn??!!!

it is as easy as driving i bicycle and with the other two languages it becomes a little bit serious but still fun,useful,and easy

what was made using html??!!!

Almost every website on the WEB

why html??!!!

It is easy and useful, and it gives you the feeling of success and excitement to learn programming languages

At the end it still depends on what are you looking for. is it just for fun, or for business, or just for having more knowledge about computers.

And by the way, if you are really serious about learning a programming language i will recommend C++. It is not for lazy people and it needs a lot of work and understanding abilities but it worth it.

DO NOT STOP LEARNING!!!

No comments:

Post a Comment