Breaking News

Showing posts with label Contents. Show all posts
Showing posts with label Contents. Show all posts

[ Lesson 1 ] What is C++ ?


C++ is a general-purpose object-oriented programming (OOP) language, developed by Bjarne Stroustrup, and is an extension of the C language. It is therefore possible to code C++ in a "C style" or "object-oriented style." In certain scenarios, it can be coded in either way and is thus an effective example of a hybrid language.

C++ is considered to be an intermediate-level language, as it encapsulates both high- and low-level language features. Initially, the language was called "C with classes" as it had all the properties of the C language with an additional concept of "classes." However, it was renamed C++ in 1983, It is pronounced "see-plus-plus."

C++ is one of the most popular languages primarily utilized with system/application software, drivers, client-server applications and embedded firmware.

The main highlight of C++ is a collection of predefined classes, which are data types that can be instantiated multiple times. The language also facilitates declaration of user-defined classes. Classes can further accommodate member functions to implement specific functionality. Multiple objects of a particular class can be defined to implement the functions within the class. Objects can be defined as instances created at run time. These classes can also be inherited by other new classes which take in the public and protected functionalities by default.

C++ includes several operators such as comparison, arithmetic, bit manipulation and logical operators. One of the most attractive features of C++ is that it enables the overloading of certain operators such as addition.

A few of the essential concepts within the C++ programming language include polymorphism, virtual and friend functions, templates, namespaces and pointers.
Share:

Here are the best programming languages to learn in 2018





This is the definitive guide for anyone wanting to choose the right programming language career path in 2018.

And let me be clear about something:

This is not a “top hottest languages” post throwing around a bunch of names and buzzwords.

This is an objective and practical review of the current state, tendencies, and safe near-future predictions of the IT industry at the start of 2018.

It’s based on statistical data from various trusted sources and is the result of a two-week period of in-depth research.

The goal of this post is to help you make an informed decision about which languages the IT market is looking for in 2018. It’ll help you decide which niche is worth the time and effort to master, and which will help you start (or continue) a successful and profitable career as a software developer.

When trying to decide which programming language makes the best career path, developers typically look for these four traits:

High salary
Popularity — plenty of job openings, variety
Tendency to become more in-demand in the future
Preferably easy to learn and pleasant to work with
For each language outlined in the list, you’ll see:

A brief intro to get you familiar with the language, what types of career options it can offer, and what’s cool about it
Language popularity diagrams according to TIOBE and GitHub Octoverse
Salary comparison based on data from Indeed.com and StackOverflow’s 2017 survey
The tendency in demand for the last five years according to Google Trends
A short example code snippet to give you a visual idea of the language’s syntax
At the end, I’ve included four lesser-known languages which gained rapid popularity in the past few years and are expected to be in very high demand for 2018.

Let’s dive right in with the number one pick.

1. JavaScript
JavaScript is the most popular language according to StackOverflow’s annual survey, with 62.5% of respondents claiming to use it.

It’s undoubtedly the dominant language of the web and the growth of JavaScript over the past decade has been immense. Why? Just look around and count how many web-enabled devices you can see. Stack Overflow’s co-founder and popular programming figure Jeff Atwood famously said:

Any application that can be written in JavaScript will eventually be written in JavaScript.
Having that in mind, it’s safe to say there will be no shortage of JavaScript opportunities in 2018 and beyond.

JavaScript knowledge feeds into plenty of front-end frameworks such as Angular, React, Ember, Backbone, and others, as well as the Node.js run-time environment, which allows you to run JavaScript on the backend with high efficiency.

Three of the top four most popular frameworks for 2017 according to StackOverflow are JavaScript-based.

If you enjoy immediately seeing the results of your work in action, for example making interactive web components, JavaScript is a good idea for you. Have in mind that a career in JavaScript implicitly means you should also be comfortable with HTML and CSS, which is basically what web pages are made of.

Tools like Apache Cordova or React Native allow using JavaScript for mobile applications. It’s even possible to get into game development or desktop app development with projects like Electron.

Let’s see the stats behind JavaScript being the #1 pick:

Share:

The Real Reason Why Everyone Should Learn to Code


Lots of people get into programming because they love the challenge, are excited by computers and want to build a career creating websites, mobile apps or desktop programs. But even if you don’t want to become a programmer for a living, it’s still worth your time to learn how to program. I mean this in all seriousness: if computers are at all a part of your life, then learning to program is going to improve your life.
And I don’t mean in that sort of nebulous, “improve your mind,” “expand your thinking skills” and “make you a better person” sort-of-way. Learning to program can make you more productive, efficient and effective.
Here’s a real-world example: one of my colleagues at Treehouse is a video professional who films and edits courses for our site. In the process of preparing a course, Wade needs to deal with many different files — video, audio, motion graphics, and more. Because he’s very organized, he creates a set of folders to organize these materials by type, lesson and course. This requires dozens of new folders for each project.

He used to create each of those folders manually for each project. Then he took our Python Basicscourse, and with a little additional research created a simple script that creates all of the folders for him. This program asks where to create the folders, the name of the course and the number of lessons in the course. It then creates dozens of folders, all properly named for a specific project. What used to be a tedious chore, is now a simple three step process that takes just seconds to complete. He’s not a programming professional, but he’s using programming to make his work easier.
Many of the programs people use everyday can be programmed in some way. Excel, for example, lets you create simple macros to aid in creating and working with spreadsheets. Many Adobe products like Photoshop, Illustrator and After Effects can be automated using JavaScript programming. The Macintosh operating system also lets you automate some of the features of the computer using AppleScript and — starting with the Yosemite operating system — JavaScript. There’s probably some application you use daily that, if you learned to program, could help you do your work better and faster.
I program all sorts of small utilities that help me get my work done each day. For example,  one weekly report at work provides various data about my courses — it’s an HTML table full of data. I wanted to see that data in a different way, so I wrote a small bookmarklet (JavaScript code that you can run on any page in a web browser) that reads the data from the table, displays a new column of stats and color codes the results. This helps me to better see how my course is doing.
Here’s another example — one particularly annoying form that I have to fill out dozens of times a month requires that I click several buttons, one after the other, in order to complete a task. Another teacher here at Treehouse, created a bookmarklet that clicks all of the buttons with one command — saving me a lot of mousing around and clicking. An easy program to write, but a big productivity boost for me.
I have dozens of these types of programs that I’ve written. Some take less than an hour to write, but will probably end up saving me dozens of hours of frustration. I even wrote a program to solve one of our video production problems: teachers often use teleprompters which display text on a mirrored surface in front of a camera.They help teachers remember their scripts and deliver their presentations without errors.
Share:

Five Programming Languages for Hackers - Offensive Security Society

Share:

What Is The Best Programming Language to Start?

The truth is: the programming language you are going to start doesn’t matter too much. What really matters is to learn the concepts of programming. These are transferrable learnings from language to language and are essential to any programming language.
I learnt Java as my first programming language. I learnt for loops, while loops, conditionals, functions, Object-oriented programming and a lot of transferrable concepts.
However, it’s preferable to choose a language that it’s easy to get a first job in the area. For starters, these are the programming languages I recommend you to pick:

Python

Python is the most popular introductory language in the best U.S. universities. Just like JavaScript, Python is also flexible and it’s being used from building web applications to bioinformatics. I strongly recommend you to learn Python, it’s a great language to pick as a starter.

Java

Java is the most used language in the enterprise environment and for years it was the top-1 programming language according to the TIOBE index. Java is strongly and statically typed, which can turn easier to visualize some programming concepts.
As one of the most used languages, you’ll easily find Java courses and guides to help you in this journey. With Java, you can build server-side applications, Android apps and more.

Ruby

Ruby is my favorite programming language. It’s easy to write, easy to read and pleasant to work with. Just like JavaScript, it’s easy to learn but difficult to master. Ruby is widely used by many companies such as Airbnb, EBANX, Shopify, Twitter, GitHub and more. It has an awesome community that’s 24/7 ready to help online.
Ruby is famous by the Ruby on Rails framework, that can help you to build entire web applications with ease.

JavaScript

JavaScript is one of the most flexible programming languages I’ve ever used. You can use it to build console applications, desktop software, mobile apps, front-end development, back-end development and so on! It’s a great programming language and it’s easy to learn but hard to master.
I’d recommend you to learn and master JavaScript, but not as a first programming language. For starters, JavaScript can be hard to debug and it’s difficult to learn some concepts such as asynchronism, prototype, objects and more.

Don’t stick to languages

What you have to do by picking language to start is to learn the programming concepts. When you finish learning, you’ll be capable to learn any other programming language with a smaller learning curve.
If you want to learn how to learn a new programming language, consider reading my article “How to Learn a New Programming Language or Framework”. It will be really helpful.
Share:

How To Become A Hacker

Share:

What programming language do hackers use?

Share:

Differences Between C++ vs Java



Object-Oriented Programming


C++ and Java both are object-oriented programming languages, still, both C++ and Java languages are different from each other in many ways. To begin with, C++ vs Java have different design goals. C++ was implemented for application and system development and is an extension of C language. Along with the features of the procedural language, C++ has an added support for object-oriented programming features, exception handling, generic programming etc. C++ also has a standard library with many generic containers and algorithms.

Java was developed earlier with the functionality of an interpreter for printing systems which later supported network computing. It is built upon the virtual machine which is highly secure and portable in nature. It is grouped with a comprehensive library implemented to provide support for abstraction of the existing platform. Just like C++, Java is also statistically typed object-oriented programming language with a similar with an incompatible syntax. The main purpose of developing Java was to develop an easy to use and widely available programming language. Java has an extensive documentation as well which is known as Javadoc.




Pointer


C++ uses pointers while Java does not involve pointers. Java uses the concept of ‘restricted pointers’. A C++ program is run and the compilation is done using its compiler. The compiler in C++ converts source code into machine level language which makes C++ a platform-dependent language. In Java, java source code is first converted into bytecode at the time of compilation. This bytecode is then interpreted by the interpreter and runtime to produce the output that makes Java a platform independent language.


Thread



C++ does not provide built-in support for threads whereas Java support threads implicitly. Though in the latest implementation of C++11, it does have support for threads as well. Java is much like C++ but does not involve complex concepts like structures, operator overloading, pointers, templates, unions etc. Also, Java doesn’t have support for conditional compile (#ifdef/#ifdef type).

Key Differences Between C++ vs Java


Some of the points are explained below that shows the Differences Between C++ and Java

  • C++ uses the only compiler whereas, in Java, compiler and interpreter both are used.

  • C++ supports operator overloading and multiple inheritances but Java does not.

  • C++ is more related to hardware in contrast to Java.

  • C++ does not provide built-in support for internet whereas Java has built-in support for the same. However, C++ supports socket programming that can be used to achieve the same.

  • C++ uses the concept of header files to include different libraries in the program. Java uses import functionality to include different classes and its methods in the program.

  • C++ provides support for default arguments whereas Java does not.

  • C++ has the concept of scope resolution operator( :: ) which is used to define a method external to the class, whereas Java uses single dot( . ) which can be used to qualify classes with the namespace they came from.

  • Java does not use a go-to statement like C++.

  • Java does not have destructors, therefore, exception handling mechanism and garbage collection are different from C++.

  • Java supports method overloading whereas C++ supports method overloading as well as operator overloading.

  • Java has the concept of pass-by-value.

  • Java does not have the implementation of unsigned integers whereas C++ has.

  • C++ uses pointers and has the capability of manipulating memory addresses.

  • Java does not use pointers that make it a type-safe programming language.

  • Java uses Generics whereas C++ uses templates.

  • The JVM helps in an efficient code optimization so the performance of execution of the program is better than as that of C++.

  • C++ uses destructors which are automatically invoked at the time of object destruction.

  • Java has an in-built Thread class that needs to be inherited for the creation of a new thread. A programmer has to override its run() method.

  • C++ has no support for Threads like Java, C++ achieve the functionality of thread using external libraries.
Share:

Why is C++ important?




Disclaimer: this post is sort of a motivating post for students. Professional programmers may find it uninteresting or painful (especially if you code in C# or Java or JavaScript).

C++ is the hardest language for students to master, mostly because they have to think much. Really much. We don’t claim that C# is easy, or Java is easy, but in comparison, yep, they are easy. 

Many other popular languages provide some cool “features” allowing developers to concentrate on their actual problem, instead of worrying about language-specific quirks (agree, C++ has so many of them). In Java/C# you have automatic memory management, e.g. “don’t think about the memory at all”. In JavaScript you also have freedom of using var, no int’s, no double’s, no floats and char pointers at all. “Just store the value somewhere and somehow”. 

The levels of abstraction allowed programmers to solve their problems faster than before and simultaneously, those levels of abstraction allowed programmers to “know less, do more, don’t worry, make money”. For sure, you don’t need to worry about memory management, or types or whatever else packed in a fancy title “performance”. It’s just you and the problem you are trying to solve. Language is just a tool. It must help you, not hurt you and your little feelings. And your job title (senior, right?).

What would become a programming student who will study, for example, JavaScript as their first and only language? Definitely not a programmer. Yep, just an advanced user, or you might say a “StackOverflow copy-paster”. Why so? Let me introduce you Alice, she’s a lawyer, she‘s good with computers, she can install software, setup a network connection, she’s able to distinguish WiFi from Mobile Data, but she doesn’t know programming. She is aware of different operating systems for desktop and mobile.

 She even uses two operating systems, an OS X installed on her MacBook and a Windows, installed on her office desktop. She kind of knows even that Mac applications couldn’t be installed on Windows. She uses some hard to master software for her job, some lawyer-specific soft, with many menu items, buttons and dialogs. 

To master this software she took classes for “SupaLoya2012-Ultimate”, she learned difficult queries to request court cases, she learned the protocol of using the SupaLoya2012-Ultimate, e.g. the order of buttons and menu items to click to get desired results. She definitely is not a programmer, you can call her someone who knows how to work on a computer better than many others and she knows some hard and specific software, its protocols, queries and stuff.

So, why is it a MUST for students to learn C++ as their first programming language (and learn it really well). Because, by learning C++, students have to:

  • worry about memory management;
  • know the difference between compiler, linker and loader;
  • find out that compilers make some optimizations (compilers code better than you);
  • learn meta-programming;
  • distinguish compile time from run-time;
  • really understand low-level implementation of polymorphism (such as virtual tables and virtual table pointers, or dynamic type identification);
  • pointer arithmetics, which could be a good base for understanding node-based data structures (f.i., linked lists, trees or graphs);
  • find out that compiler generates platform-specific code, and discover that there are many other platforms, instead of Windows on x86;
  • find out that there are ELFs and PEs and other executable file formats, each of which has a bunch of sections you should at least partially be familiar with;
  • find out that the size of data types is something you have to worry about (sometimes);
  • implement some function pointers to understand the under the hoods of callbacks;
  • dive deeper into generic programming;
  • use and understand iterators, implement containers supporting various categories of iterators;
… the list goes on and on and on..


These are some “knowledge” that are a MUST for any CS student, at least for any CS student who is willing to become a good programmer. Mastering C++ guarantees required experience to master almost any other programming language. 

Why C++? Easy to answer to this one. Tell me what you want to be a world-class developer working on really interesting stuff.. ?
..or you just want to make some money while coding routine tasks with some Currently Popular JS Framework?

If your answer is “ye-yeah, i want to be a rock-star developer”, then C++ is your choice. If you are the guy who claims “oh, come on, language is just a tool, I know React, I can do a lot of stuff, I make money, man!” Sure you are right, no one tells you shouldn’t use other tools, no one tells you shouldn’t solve problems with a tool created just for that particular problem. Finally, no one says you should code some website’s front-end with C++.

 It’s your choice, but remember this, JavaScript runs on engine written in C/C++ (f.i. Google V8), .NET Framework CLR is written in C++, even MS Windows is written in C/C++. Java JVM is written in C++, MongoDB, Redis, web-browsers, Linux, MySQL, (I’m listing random software/tools), Adobe Photoshop, Illustrator, Nginx, OS X is written in a mix of language, but a few important parts are C++, many Google internal/external products (including Google Search), Microsoft Visual Studio, even C# compiler itself is written in C++. (you can find more by googling).

At the dawn of the 21 st century, C++ was under assault. Fans of C pointed to C++ programs whose performance was inferior to supposedly equivalent code written in C. Famous corporations with big marketing budgets touted proprietary object-oriented languages, claiming C++ was too hard to use, and that their tools were the future. 

Universities settled on Java for teaching because it came with a free toolchain. As a result of all this buzz, big companies made big-money bets on coding websites and operating systems in Java or C# or PHP. C++ seemed to be on the wane. It was an
uncomfortable time for anyone who believed C++ was a powerful, useful tool.

Then a funny thing happened. Processor cores stopped getting faster, but workloads kept growing. Those same companies began hiring C++ programmers to solve their scaling issues. The cost of rewriting code from scratch in C++ became less than the cost of the electricity going into their data centers. All of a sudden, C++ was popular again.

So, do you want to make some noise? Then learn C++!

Share:

Look at

Popular Posts

Powered by Blogger.

Categories

Categories

Advertisement

Main Ad

Tags

Tags

Business

Business/featured
Find Your Destanation in Here on Us

Sheekooyin Jaceel ah

SHEEKO: Iska Illow Boodhari iyo Hodan, Qays iyo Layla, Lamaane kale oo Jacaylka Astaan u Noqday Adduunkana Taariikh ku Reebay!!

Jacaylku waa Maxay? Culumadii Hore ee Falsafaddu waxay ku wareereen in ay Qeexaan macnaha dhabta ah ee Jacalka , Plato oo kamid ah culu...

Recent Posts