Jump to content
Korean Random
Muzifik

Программирование с нуля для начинающих

Recommended Posts

Хочу научиться программировать) С чего начать? Гуглил в гугле, много всего почитал но ничего не понял) Точнее что-то понял, но много инфы старой и всё такое, поэтому нужна помощь)

 

Помогите определиться

  1. Как выбрать язык программирования?
  2. Что ещё нужно чтобы начать?
  3. Какую литературу лучше читать если вообще чайник?

Троллей и советчиков погуглить прошу сразу в лес) Гуглить и я умею, но живое общение это другое)

Share this post


Link to post

Short link
Share on other sites

Как выбрать язык программирования?

Pascal

Что ещё нужно чтобы начать?

http://www.freepascal.org/

Какую литературу лучше читать если вообще чайник?

Любая книга по паскалю. Они все для чайников.
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Pascal

спасибо)))))

 

Мне интересно именно по какому принципу вообще выбирают? Вот почему Pascal, а не C++ или C# или просто C?

Edited by Muzifik

Share this post


Link to post

Short link
Share on other sites

Сначала определись что ты хочешь делать, потом уже определишь язык.

Первая категория - десктоп или мобильные приложения. Если мобильные, то там проще - стоит рассматривать всего 2 платформы - iOS и Android, соответственно под iOS пишут на ObjectiveC или Swift, под Андроид - Java, ходят слухи, что тоже Swift хотят прикрутить, но это пока слухи. Есть еще Apache Cordova, там пишется на HTML5/JavaScript, но есть свои особенности, опять же зависит от задач.

Под десктоп - нужно понимать задачи. Если только винда, то C#, если кроссплатформенные приложения, то тут есть варианты - Java, Python, Ruby и т.д. Если веб, да и вообще любой фронт - HTML5/CSS3/JavaScript.

Про функциональные языки пока промолчу...

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Я с C# начинал. Литература - C# для школьников) Просто, понятно и популярным языком вводит в моск азы программирования. Она на MSDN вроде есть. Давно это было, года два назад. 

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

Сначала определись что ты хочешь делать, потом уже определишь язык.

Первая категория - десктоп или мобильные приложения. Если мобильные, то там проще - стоит рассматривать всего 2 платформы - iOS и Android, соответственно под iOS пишут на ObjectiveC или Swift, под Андроид - Java, ходят слухи, что тоже Swift хотят прикрутить, но это пока слухи. Есть еще Apache Cordova, там пишется на HTML5/JavaScript, но есть свои особенности, опять же зависит от задач.

Под десктоп - нужно понимать задачи. Если только винда, то C#, если кроссплатформенные приложения, то тут есть варианты - Java, Python, Ruby и т.д. Если веб, да и вообще любой фронт - HTML5/CSS3/JavaScript.

Про функциональные языки пока промолчу...

Спасибо за информативный пост!

 

Уточняю тогда: десктоп, винда.

 

Мне советовали QT, я так понял это C++? Это плохой выбор по сравнению с C#?

Share this post


Link to post

Short link
Share on other sites

Спасибо конечно, но вики я и сам читать умею) Мне интересно мнение живых людей которые сравнивали на своей шкуре)

 

 

 

Гуглить и я умею, но живое общение это другое)
Edited by Muzifik

Share this post


Link to post

Short link
Share on other sites
C++? Это плохой выбор по сравнению с C#?

 

С# - высокий язык программирования. С++ - низкий. Имхо, с него начинать легче всего, если хотите изучать ветку Си-подобных языков. Синтаксис схож с JS, AS и другими языками. Я сначала изучал C#. Потом перешел на C++. Так намного легче.

ЗЫ Если прям самые-самые-самые-самые азы, и хотите поэкспериментировать - учите Питон. Сначала скачивайте книгу Шапошниковой, а потом Сузи. Этот язык не сильно отличается от Си Шарпа, но этот язык творит чудеса - то, что не запускается на C++ и др., на нем запускается. Он не строг к ошибкам, и специально предназначен для начинающих.

ЗЗЫ На Питоне кстати тоже есть PyQT. Но я с ним не сталкивался, и советовать по нему ничего не могу.

 

ЗЗЗЫ На Си-подобных языках есть огромная русская онлайн-справка - Microsoft Developer Network. В ней Вы найдете описания функций, классов и прочего. Она полна примеров, простых и написанных на языках C, C#, C++.

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

Спасибо за информативный пост!

 

Уточняю тогда: десктоп, винда.

 

Мне советовали QT, я так понял это C++? Это плохой выбор по сравнению с C#?

Qt - крутая штука, я использую его в некоторых проектах, причем один проект работает уже 13 лет, в очень критичном месте.

Но у него есть 2 проблемы - для начинающего он не подходит, так как нужно обладать некоторыми навыками. И на нем не так много пишет, поэтому довольно бедная компонентная база.

Для тебя идеально изучать C# или JavaScript. JS занял нишу фронтов на ближайшие лет 10, C# - основной язык MS, причем постепенно с винды переходит и на другие платформы. C# - это только язык, в целом нужно изучать .NET Framework. .NET - клевая штука, на нем много чего можно сделать. Язык C# довольно динамично развивается. В общем, если нужно с чего-то начинать, рекомендую брать C#. Если по ходу поймешь, что больше интересует направление фронтенда, переключишься на JS.

С# ... Синтаксис схож с JS, Python и другими языками. 

Вот уж с питоном он совсем не схож. :)

С ActionScript - да.

Edited by sirmax
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
Вот уж с питоном он совсем не схож. :)

 

Да ну, различия между C# и Питоном маленькие - вместо void() / int() / float() / ...() там def func();

Круглых скобок нет, всё управляется табуляцией.

Также вместо include <header> там import;

Также там надо ставить точки с запятой после каждой строки кода. А в питоне хоть ставь, хоть не ставь - без разницы.

В дефолтной питоновской IDLE нет отладки, но это правится <покупкой> (читайте как хотите) NetBeans;

Также в Питоне тип переменной не задается в месте ее инициализации. В C# она задается как раз при инициализации.

Вроде всё. Мог забыть что-то, но это основное.

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

у тебя слишком поверхностное представление о языках :)

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

Вот почему Pascal, а не C++ или C# или просто C?

Потому что в каких-то языках нужно будет мириться с глупым синтаксисом, в других с бедностью стандартной библиотеки и так далее и так далее.

Паскаль - один из немногих языков, у которого нет подобных проблем.

 

 

 

С# - высокий язык программирования. С++ - низкий.

C# и C++ - языки высокого уровня. Из низкого - язык ассемблера, а средний (нельзя назвать низким, но и высоким назвать тоже нельзя) - C

 

 

 

Для тебя идеально изучать C# или JavaScript.

C# - не думаю, что предлагать ООП начинающему - хорошая идея.

JavaScript - первый язык обязательно должен быть статически типизированным. Помимо этого у JS невероятное количество других проблем.

 

 

 

Но у него есть 2 проблемы - для начинающего он не подходит, так как нужно обладать некоторыми навыками. И на нем не так много пишет, поэтому довольно бедная компонентная база.

Кроме того, он требует понимания ООП.

 

 

 

Сначала определись что ты хочешь делать, потом уже определишь язык.

Написано же: научиться программировать. Хватит пугать человека явами, свифтами и функциональным программированием.

 

 

 

Да ну, различия между C# и Питоном маленькие

Они совершенно разные.


 

 

Мне советовали QT, я так понял это C++? Это плохой выбор по сравнению с C#?

Qt - не язык, это лишь большой набор готового кода. Т.е. вместо того, чтобы писать всё с нуля, можно воспользоваться Qt. Да, написан он на C++ для C++, но его можно использовать и с другими языками.


 

 

Если по ходу поймешь, что больше интересует направление фронтенда, переключишься на JS.

Теперь нужно объяснить, что же такое этот "фронтенд".

Share this post


Link to post

Short link
Share on other sites

C# и C++ - языки высокого уровня. Из низкого - язык ассемблера, а средний (нельзя назвать низким, но и высоким назвать тоже нельзя) - C

 

C++ ниже C#.

 

Также следует сказать, что в С# включен автомат. мусорщик, в то время как в С++ контролировать расходы памяти нужно самому программисту. В этом есть свои плюсы и минусы

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

 

 

C++ ниже C#.

Нет. И тот и другой - языки высокого уровня.

Высокий уровень означает то, что написав код для одной платформы, он будет работать на другой с минимальными изменениями.

 

 

 

Также следует сказать, что в С# включен автомат. мусорщик, в то время как в С++ контролировать расходы памяти нужно самому программисту.

C# ближе к Java, чем к C++.

Share this post


Link to post

Short link
Share on other sites

Во всех языках есть плюсы и минусы. В одном проекте может использоваться несколько языков одновременно. Начните с Hello World любого языка и по ходу событий в вашей голове (а это либо "ахтунг" либо "ниче так") поймете, что вам по душе и интелекту.

Я сам Java любитель/копипастер, прочитал пару книг по яве и по андроиду, через месяц родил полноценное приложение. Ява в моем случае проще прилипапа к извилинам. После явы (хз почему, ибо должно быть наоборот) все остальные языки мне показались проще и сейчас я 50/50 во всех их шарю.

Share this post


Link to post

Short link
Share on other sites

Для меня оказался удачным ресурс javarush там есть несколько курсов с нуля для начинающих, java, android,cs50

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...