How to learn programming?

in #programming6 years ago (edited)

Frequently Asked Questions:

  1. Which is the most popular programming languages?
  2. Where should I need to start learning to the programme?
  3. Most popular languages or demanding language for getting jobs?
  4. What’s the most popular programming language?
    Programming Language

In case you're searching for an official positioning of the best programming languages, you can discover it here: IEEE Spectrum top programming languages

That rundown is incredible for checking whether a specific programming Language is being used today. Be that as it may, in case you're new to programming, I don't prescribe picking a languages exclusively dependent on a rundown.

Step by step instructions to choose a programming language

Software engineering is an altogether total field of study. That implies each progressive theme works off earlier subjects.

On the off chance that you have recently endeavored to get the hang of programming (or any STEM field) in school, attempted your best, however, failed — you weren't the issue. A decent teacher of any total subject cautiously ministers the educational programs. Given that every understudy has adequately arranged and fulfilled the essentials, the desires for the understudies' earlier information ought to be clear. A decent educator comprehends the desires and accepts no learning past that scope. Anything outside of the desires must be educated. Every theme in the educational programs is requested successively, separate to alternate subjects.

At the point when a subject is combined, careful consideration must be paid when structuring a course educational modules or learning way. All things considered, don't pick a language for its positioning; pick a language for which you have a total learning way that makes no suppositions about earlier information.

A couple of expressions of exhortation

Before you start figuring out how to code, it's imperative to think about the point I made above: everything in software engineering is aggregate.

I like to repeat this in light of the fact that the greatest misstep you can make as a hopeful developer is surrendering on the grounds that you don't believe you're sufficiently shrewd to get the hang of programming. Figuring out how to code has nothing to do with your knowledge. Indeed, it's hard to master programming, not in view of your identity, but rather in light of the fact that there are a ton of points to learn.

The first guideline, acknowledge that the accompanying situation will occur: you're acquainted with another point that looks bad to you.

That situation will occur again and again. How you handle that circumstance, each time it occurs is the main factor that will decide your prosperity.

On the off chance that the present theme you're learning doesn't sound good to you, stay where you are. Try not to continue to the following theme. To emphasize, the points are aggregate. Skirting ahead resembles endeavoring to join a rooftop to a house that comes up short on a casing, dividers, and an establishment.

I wind up in this circumstance constantly. I regularly need to rewatch a similar address of a video instructional exercise a few times for me to get a handle on what I'm realizing. Try not to get debilitated in the event that you end up in my shoes.

On the off chance that the instructional exercise (or book) you're utilizing didn't adequately clarify the subject, you will need to discover different assets that work for you. There's no reason for surrendering in light of the fact that your instructional exercise's inclusion of a theme didn't work for you. You can discover pretty much anything you're hoping to learn for nothing on YouTube. Make sense of what to look for (e.g., [the topic] in [your programming language] + some other accommodating catchphrases).

In case you're looking on YouTube for instructive instructional exercises, check the details first. Investigate the rating as well as the view tally. In case you're as yet uncertain if a video merits your time, read a portion of the remarks to gage others' conclusions.

A great deal of themes wouldn't bode well the first run through around. Along these lines, abstain from the negative self-musings.

The objective is to be aware of your cognizance as you're learning. As you advance through the learning way, you have to self-reflect. For every theme you cover, make inquiries, for example,

"Does this subject sound good to me?"

"Was there any new wording? Assuming this is the case, was a formal definition accommodated each new term?"

"Were there any new abilities? Do I see how each new ability is utilized in application? Would i be able to exhibit my comprehension of this ability by taking care of training issues?"

"Will I recollect what I simply realized tomorrow? Furthermore, the following day? If not, how am I going to submit it to memory?"

One final suggestion: keep in mind the intensity of retention. Retention is an absolutely underutilized approach in learning. Truly, perception of a theme is a definitive objective. Be that as it may, appreciation may require significant investment. On the off chance that you are extremely attempting to get a handle on a theme, separate the subject and remember the imperative terms. In the event that you can't appreciate how something functions, your prompt objective ought to be retention. On the off chance that you require tips on the best way to handle remembrance, consider utilizing the examination card strategy. You can peruse increasingly about how I utilize this strategy in my Interview Prep report.

1 — Computer Science Fundamentals

The initial step is learning software engineering essentials, which I cover in my article: Intro to Computer Science Terminology. This article is composed explicitly with my group of onlookers in mind — everyone. I purposefully made this so it is straightforward for anybody with no foundation in PCs.

The ideas canvassed in the article are transcendently definitional. You can calmly peruse the article, and that is fine it that does the trick for you. I prescribe submitting these terms to memory. Approach each term just as you're in school and you should have the capacity to review each term's definition for a test. You don't need to submit yourself so completely in the event that you would prefer not to. In any case, the a greater amount of these ideas that you can focus on memory, the less demanding it will be to see later subjects.

2 — Propositional Logic (discretionary)

No, you don't need to be solid in math to be a software engineer. Math aptitudes can be useful, yet they're a bit much.

In case you're uncertain about your math capacities, I prescribe learning propositional rationale. The standards canvassed in propositional rationale are the building squares of programming.

You can take in propositional rationale from this YouTube instructional exercise: Basic Concepts in Propositional Logic.

3 — Java Programming

After you've taken in the nuts and bolts of software engineering, you'll be prepared to take in a programming dialect.

I have put a great deal of thought and exertion into structuring a way that is reasonable for everybody, paying little mind to their experience. I picked Java for this learning way since Java is the dialect that I am most experienced in.

Java is a standout amongst the most sought after programming dialects. It's delegated an item situated programming dialect (you'll realize what this implies later on) and it's utilized to make work area, web, and portable applications.

In the event that you incline toward gaining from a book, I suggest the accompanying: Head First Java.

In case you're searching for a video instructional exercise, I suggest watching recordings #1– 19, 31– 33, 88, and 93 in the Java YouTube instructional exercise by Derek Banas: Java Video Tutorial.

The main video in the YouTube instructional exercise will guide you to download a PC program called Eclipse. Overshadowing is an Integrated Development Environment (IDE). You can think about an IDE as an extravagant term for a word manager that is made for developers. It's only a PC application that gives a content manager to programming, alongside different apparatuses for running your projects. Here's the connection to Derek Banas' YouTube video on the best way to download Eclipse: Install Eclipse for Java.

4 — Algorithms and Data Structures

A calculation is a lot of directions (or ventures) for playing out an explicit undertaking, where each progression must be unmistakably characterized, equipped for being executed, and limited (which means, it doesn't keep executing interminably).

An information structure is a method for sorting out information in memory.

Calculations and information structures are two of the most difficult subjects of programming. You don't have to learn calculations for essential competency in programming. Be that as it may, in the event that you try to fill in as a product design at a respectable tech organization, you will be relied upon to show cognizance of calculations and information structures amid the meetings.

On an individual note, the instructional exercise underneath is the thing that took my calculation aptitudes from learner to master: Udemy instructional exercise on Algorithms and Data Structures. I've bought a great deal of instructional exercises on calculations. This was by a wide margin the most far reaching one that I've run over. Regardless of whether you need to learn calculations and information structures or get ready for specialized meetings, this instructional exercise is your most logical option for progress.

Note: the course is costly, however basic. I had the ability to get in contact with the teacher, and she has liberally offered a coupon code which diminishes the expense from $50 to $10. The coupon code will be connected naturally when you tap the connection.

I suggest utilizing the accompanying instructional exercise close by the Udemy instructional exercise: VisuAlgo. VisuAlgo is a free asset that demonstrates visuals of how the qualities contribute to a calculation change all through its execution.

5—Android Development

Android development is, as I would see it, a standout amongst the best time utilizations of Java programming. Android applications are dominatingly modified in Java, so once you learn Java, you're prepared to learn Android.

After you finish the Udacity course above, you have two or three alternatives where to go from that point. There ought to be an expansion to the above course that is educated by a similar gathering of Google workers. The extra addresses ought to wind up unmistakable once you overcome the course (in the event that you can't discover it, look for it on Udacity). That is a decent choice, particularly since it's free.

Notwithstanding, on the off chance that you will burn through cash on a remarkable book, I profoundly suggest the accompanying: Head First Android Development: A Brain-Friendly Guide. This book gives definite clarifications and accommodating visuals to truly enable you to take in the basic ideas of Android. Every part strolls you through a model application. Everything is clarified altogether, utilizing words and charts that anybody can get it.

Sort:  

I would learn solidity to program smart contracts on ethereum. Seems most useful to me.

https://steemit.com/crypto/@niel96/f3pxqm3qw