Showing posts with label Programming Languages. Show all posts
Showing posts with label Programming Languages. Show all posts

What is the best way to learn Programming and how long it takes?

Friday, 24 March 2017
How long does it take you to master a programming language? This depends on various factors. There is no general time. Clear - anyway, each person learns differently fast. Prerequisites also play a role. The first language is much heavier than a second or third. In addition, each programming language is differently complex. So it's supposed to be easier to master PHP than to understand how drivers are written for operating systems. The article still gives you answers.

When do you say "I can program"?

I can program - when do you say that? Or: How do you define this state? I may associate with the statement something else than you. I do not find it important to memorize all aspects, functions, methods, or classes of a programming language by heart. The knowledge you can memorize by heart. And that is not the point of programming.

In practice, you do not have much of factual knowledge. To apply this is much more difficult in practice than in theory. Read an entire book and then start with an empty editor. You already understand how that is meant. In addition, there is no reason for any programming language references. In which you can check. You need to know where to look.

I recommend to focus on the following levels:

1. Syntax

The first step is to familiarize yourself with the syntax of a language. It is important to "get warm" with the language through a lot of practice. Small test programs, the function of which is rather in the background, are the optimal start. At first it is not necessarily easy and pleasant. You will always look up things. This is why exercise is important. The foundations go "in flesh and blood". Knowledge moves into implicit memory. The same happens when binding the shoes, switching in the car or writing with the hand - you do not think about every step. You act easy. And so you do not think any more about where now e.g. A bracket must be set. You just know it.

2. The Basics

The second step is to learn the basics of language. These are mainly things that occur in any programming language. How do you write strings, arrays and so on? What control structures exist? How do you write loops? How do you write your own functions, classes, and methods? How do you create objects? Are there special data structures (such as tuples or dictionaries at Swift)? And so on. This is important in order not to have to ask documentation for constantly required functions. The more knowledge is available, the faster this step.

3. Getting to know features

Only in the third step you take a trip through the library. What features are included? A good overview of the standard library is important. So you know what the language itself, where external libraries are necessary and where solutions are required. The best thing is - who would have thought it - in which you simply write software. Use the features, experiment with it. In many libraries, for example, there are solutions for database access, input / output on file extensions and the like. This step is usually much more fun, as there is already a feeling for the language.

4. Software Architecture, Best Practices & Co

In the fourth step you familiarize yourself with best practices and design patterns. Good programming and clean code is created mainly because a good architecture is present. This is the actual cracking point separating the chaff from the wheat.

When one can speak precisely of mastering a programming language, every developer will probably answer differently. Personally, I find that at least one can claim to be able to deal with a programming language when it feels safe when working with it. I would speak of mastering, if you just have to read references and work with the given information independently (without sample code).

Programming - the felt duration

You want to learn programming. When do you start as a programmer? After other developers do that! If other programmers call you like that, you did it. This unfortunately only slightly changes your feeling. For your travel this is almost completely irrelevant. The key question is: When do you feel safe when programming? Because then you come into the so-called flow. Learning is to play. You are no longer practicing but playing. From my point of view, this starts at level 3.

Programming in 30 days?

You can learn how to use the product xyz in 30 days. These providers like to teach the abbreviation - read this book and save you many years of learning. That will not do. You're just going through a lot of practice an experienced programmer.

But what really works: You can reach the state of Flow with the appropriate program in 30 days. And as soon as that happens, the feeling does not change much. No matter if you develop a complete app or website.

Think about programming

There are of course some factors that influence your learning process. Here are some logical ideas that you can only partially influence:
What previous knowledge do you have?

The existing knowledge has a very decisive influence on the duration and learning sequence. If you are already familiar with other programming languages, you will learn a new language much faster. You can connect a lot with experiences and "get to know" more quickly with the knowledge. Especially the syntax and basics are no longer a challenge. You can then focus much more on the language features, the library, and things like architecture and design patterns. You learn not only faster. With time and more knowledge, you will automatically write better source code.
How much time do you invest?

Clearly, the main factor is the time spent invested. If you can invest 4 hours per day, this is always better than an hour. But also, whoever learns an hour or half an hour every day comes forward! This is very important. Just beginners often wait for the perfect circumstances. A cozy evening in bad weather. Read the book relaxing on the sofa. Sure great, but focused half an hour of learning is equally effective. More importantly, learn regularly!

How quickly do you understand individual aspects?

The success of the learner is also dependent on your abilities. Everything else would be a lie. Some people learn new things faster. Some slow down. This is not a question of intelligence. Not every brain works equally. Younger people need e.g. Usually less repetitions to store the same knowledge in long-term memory.
Your Mathematical / Logical Thinking

Whoever has never dealt with abstract thinking, mathematics or logic, unconsciously also builds up something in programming. This is positive! However, this also slows down the learning success somewhat.

Sure there are other factors. Someone who finds only evening time, since he is working during the day, needs more time than someone who can use the high-performance phases of the brain during the day. But, to pursue all possible factors so deeply explores the framework. A tip in any case:

Do not lose too much in the details. It is not so important to pick up all the lines and keywords that are written. You will not create that directly anyway. And: it comes automatically with time. It is much easier and more fun when you go relaxed. Everything else comes by itself.
Read more ...

What's New in Visual Studio 2017

Wednesday, 22 March 2017
Microsoft is celebrating the twenty-year anniversary of Visual Studio with a two-day launch event. Within the framework of this program, Visual Studio 2017 was finally released. What this means for developers, let's take a closer look. 

The wait is over:  

Visual Studio 2017 is now available for download. Between November 16, 2016 and February 7, 2017, Microsoft had released a total of six release aspirant for the development environment. Accordingly, there are no new functions in the RTM version, which are not already known from the previous RCs. Still, take a look at the highlights in Visual Studio 2017. 

Visual Studio 2017 - that's in it 

For example, Microsoft's IDE users can look forward to new real-time features that enable live testing of devices and immediate dependency testing. Visual Studio 2017, together with Xamarin, is dedicated to the development of mobile iOS, Android and Windows applications. The so-called Roaming Extensions Manager has an overview of all available extensions. 

In addition, there were a number of enhancements for .NET, including an optimization of the usability of the .NET core and ASP.NET core tooling and optimizations for NuGet. The project design process has also been simplified. 

In addition, there is an enormous productivity boost thanks to Intelligence, code navigation and debugging improvements. In addition, there are a number of new features that are designed to provide more productive JavaScript development in Visual Studio 2017. Developer Analytic tools have also been enhanced to better reflect the impact on users. In addition, the .NET core and docker workload has been optimized and the overall quality of the .NET Core Tools improved in Visual Studio 2017. 

Speaking of .NET Core Tools: 

There was an exciting new development. Although the core frameworks were released in version 1.0 in June 2016, the .NET Core Tools remained in the preview stage. But now the tools for .NET Core, ASP.NET and Entity Framework Core have reached RTM status with Visual Studio 2017 at the same time. 

In the course of the release, Microsoft also provides updates for Team Foundation Server 2017 and for the Visual Studio Mobile Center. The fourth preview of Visual Studio for Mac has also been released. More info can be found in the blog post. 

The Microsoft partners were also diligent and have developed more than 700 extensions for VS 2017, which can be downloaded via the Visual Studio volume. As before, there is also the free version of Visual Studio Community 2017 for developers as well as the commercial variants Visual Studio Professional 2017 and Visual Studio Enterprise 2017. 

You can find detailed information about all the changes and changes in Visual Studio 2017 in the corresponding blog post in the .NET blog.
Read more ...

What is SQL (Structured Query Language)?

Monday, 20 March 2017
SQL or Structured Query Language is a language which is used to communicate with a relational database. It provides a way to manipulate and create databases. It is a database language used for database creation, deletion, fetching rows and modifying rows etc. sometimes it is pronounced as se-qwell. It appeared in 1974. It is used like commanding language to access databases.

Usages of SQL
  • To execute queries against a database
  • To retrieve data from a database
  • To inserts records in a database
  • To updates records in a database
  • To delete records from a database
  • To create new databases
  • To create new tables in a database
  • To create views in a database
SQL doesn't have loop or conditional statement.

Subsets of SQL
  1. Data definition language (DDL)
  2. Data manipulation language (DML)
  3. Data control language (DCL)
1. Data definition language (DDL) allows you to CREATE, ALTER and DELETE database objects such as schema, tables, view, sequence etc.

2. Data manipulation language (DML) makes user able to access and manipulate data. It is used to perform following operations.
  • Insert data into database
  • Retrieve data from the database
  • Update data in the database
  • Delete data from the database
3. Data control language (DCL) allows you to control access to the database. It includes two commands GRANT and REVOKE.

GRANT: to grant specific user to perform specific task.
REVOKE: to cancel previously denied or granted permissions.

Type of operators available in SQL:
  1. Arithmetic operators
  2. Logical operators
  3. Comparison operator
Read more ...