G
G
GrayhairedSamuray2016-08-07 12:40:20
Programming
GrayhairedSamuray, 2016-08-07 12:40:20

Programming from scratch. Not student age. Where to begin?

Good day dear!
I want to get into programming. So to speak for myself, for a hobby, I'm not going to make money with this (I'm almost 40 years old and have a stable source of income for a long time). I would like to learn how to write programs for "home use". For example, I got carried away with "Arduino" and built something similar to a weather station with it, it would be nice to write a program for it - it shows readings in beautiful windows, it records from sensors every day, you can sample different data and build graphs. Or, let's say, I have a small pig farm, write a program for accounting for animals, feed consumption, money spent / received from them, etc. Or I like the card game "Preference" so that I can write a computer implementation of it.
It remains to choose a tool i.e. programming language. Googling led me to three options:
1. C#
2. Java
3. Python
Please help me with a choice. Since I am not an expert in this matter and can easily point my feet in the wrong direction. I came across programming even superficially at the institute, and now, with grief in half, I wrote a couple of simple sketches for arduino.
What literature to read? I don't speak English)

Answer the question

In order to leave comments, you need to log in

15 answer(s)
O
OnYourLips, 2016-08-07
@OnYourLips

I want to get into programming. So to speak for myself, for a hobby, I'm not going to make money with this
Then python is just perfect for you, even though I don't like this language.
The most popular in the hobby, has a wide range of application areas, is ideal for the role of the first language, great for prototyping and rapid development.

S
Shaidulint, 2016-08-07
@Shaidulint

C# suits your needs perfectly. It is simple and clear + handy IDE with hints. Allows you to quickly develop win-applications. (With arduino communication is very simple).
I do not recommend Python, after all, it is a scripting language, there will be a lot of questions about launching your programs.

D
Daniil Demidko, 2016-08-07
@Daniro_San

C++ is just perfect for you.
Since you are not going to earn money, you can easily create applications of any complexity, in addition, when you meet with any other C-like language (C, Java, C #), you will perfectly understand the logic of the code.
You can not be afraid of difficulties due to the fact that you still have plenty of time to learn, and at first mistakes will not be critical for you, since you are not going to sell your creations.
I speak as a C++ writer myself - its complexity is greatly exaggerated by those who do not write it.
Do not be afraid of new and daring discoveries for yourself, get to know the whole universe of the C ++ world!

S
Stanislav Makarov, 2016-08-07
@Nipheris

So, once for home use, then Java is better to postpone. In principle, they are approximately equal to C # in terms of weight category and areas of application, but IMHO on Sharp it is easier to sketch some kind of desktop application. For writing a desktop card game, it is quite a suitable option.
For Arduino you will need C / C ++, you are rightly told. Compared to C#, the syntax is similar, but many concepts differ, C++, and especially C, are much closer to hardware.
I play seven of diamonds!

N
NoMoneyException, 2016-08-07
@eugene_leshchinskiy

If for myself and for the soul, then I would advise Python. Writing on it is easy and fast, learning too. Although it is used mainly on the web, you can also sketch something for the PC. Java and C# are enterprise, complex and large systems, there is a lot to learn and such systems are not serviced alone.
----------
Attention, my answer is based on a little familiarity with languages, do not take it as the only true one. Although I think others will be similar.

X
xmoonlight, 2016-08-07
@xmoonlight

JS (+HTML/CSS) (учебник на русском):
1. node.js (для сервера, например, для предоставления информации с датчиков)
2. nwjs (для создания десктоп приложений, также имеет в своём составе node.js)
3. phonegap (для кросс-платформенных мобильных приложений)

Рафаэль ™, 2016-08-07
@maxminimus

JS (+HTML/CSS)
наиболее универсальный язык и самый низкий порог вхождения
для микроконтроллеров и Ардуино надо учить Си и С++ - то есть те языки на которых программируются эти штуковины
+ QT

R
Rou1997, 2016-08-07
@Rou1997

ОС у вас какая? Для Windows лучше C#, Delphi или сперва начать с C/C++ (на Arduino уже начали с него, теперь на Windows Desktop попробуйте), смотрите сами, главное не беритесь за кроссплатформенные фреймворки, они все до единого имеют более низкий порог вхожения и требует опыт с "нативом", поэтому для начала не подходят, ну разве что PureBasic, странная довольно штука, и уже этим заслуживает внимания, но он не особо и поддерживает другие ОС кроме Windows.

A
Anton Reitarovsky, 2016-08-07
@Antonchik

Python will be a cool choice for the first programming language, it will be easy to learn the basics of programming on it, and then you can take c# if you want to write window applications for windows

M
Man-Soul, 2016-08-18
@Man-Soul

I see you have decided on the programming language, now decide on the driver for the USB port .

G
gimade, 2016-08-07
@gimade

From system googlego. There is a tour for beginners even in Ukrainian and many other languages, but not in Russian. Some kind of protest or something... https://tour.golang.org/welcome/2

A
asd111, 2016-08-07
@asd111

Python. For simple games like solitaire, there is pygame. As far as I know, python runs on arduino.
https://habrahabr.ru/post/167209/
HTML, Javascript, CSS is useful to know to make a web interface for your programs. By the way, you can also write games in Javascript, but for the first steps, of course, python is better.
There are game engines where the logic of the game can be described visually. Unity has Playmaker, UnrealEngine has Blueprints.

T
TAnonim, 2016-08-07
@TAnonim

C++ and Qt are huge power. You can program anything, for any platform. In addition, C ++ is a fairly fast and beautiful language. The best thing for learning, in my opinion.

G
GrayhairedSamuray, 2016-08-08
@GrayhairedSamuray

I read the answers, tormented Google. Basically, advice comes down to Python and C #, C ++. As far as I understand, python (or python hz as it is correct) is much easier to learn, and allows you to do a lot. C++ is complex and very powerful (but do I need its power for my purposes? I'm definitely not going to write OS and the like) What is the advantage of C#?

I do not recommend Python, after all, it is a scripting language, there will be a lot of questions about launching your programs.
It is possible more in detail - what there can be problems?
Understand correctly, I'm not afraid of the complexity of the language, I just don't want to delve into the wilds that are unnecessary for me)

A
Andrey, 2016-08-12
@Andrey052

If you haven’t dealt with programming, then I think it’s too late to start at 40. For your needs, you can buy several programs than torturing yourself with training, it will not lead to anything anyway.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question