Перейти к содержанию

Какой язык лучше изучать новичку C++ или C# ?


Razi

Рекомендуемые сообщения

ИМХО, "современному" начинающему программисту хочется писать программы с графическим интерфейсом. Проще всего это делать на С#, особенно когда есть Visual Studio. А недавно вышедшей Visual Studio 2017 так вообще все круто стало. 

А чтобы написать на С++ программу с интерфейсом надо юзать C++/CLI + VS, или использовать QT c их средой разработки qt creator, или юзать какой нить фреймворк типа wxWidgets.

Сам использую C++/CLI. Изврат, но мне нравится)

Если что - поправьте.

 

 

Изменено пользователем rtm
Ссылка на комментарий
Поделиться на другие сайты

Как насчет языка Lua, с него легко начинать? На Lua можно писать программы с графическим интерфейсом в удобной среде программирования? Знаю что Lua это скриптовый язык.

Ссылка на комментарий
Поделиться на другие сайты

49 minutes ago, MasterGH said:

C# я учил для работы с базами данных.

 

Спасибо большое за развернутый ответ, очень интересно.

 

21 minutes ago, Razi said:

То есть для Python

 

Да, есть PyCharm Community Edition от JetBrains. Есть конечно еще и всякие PyScripter, но я отдаю предпочтение PyCharm )

Ну а вообще "тру посоны" пишут на vim / emacs :D

 

Ссылка на комментарий
Поделиться на другие сайты

Не, если подумать, то для начинающего лучше всего Scratch для понимания принципов алгоритмизации. Потом - python. Вы удивитесь, но он сейчас все больше используется для аналитики и высоконагруженных веб-сервисов. Например, Youtube написан на питоне. Какая часть ютуба его использует - сказать не могу, но где-то информация об этом была. Далее, после питона - C++. Я лично для себя называю С++ недоассемблером, так как в С++ можно сделать почти все, а синтаксис и читабельность - как у любого языка высокого уровня. За счет этого он и сложнее, чем другие ЯП высокоуровневые. Для "окошек" под винду, на мой взгляд, оптимальнее будет, как уже кто-то писал, C# и Visual Studio. Для кроссплатформенных окошек - python + Qt или любой другой ЯП в связке с Qt. Ну и про Делфи (Object Pascal) тоже не стоит забывать. Паскаль, с его строгой типизацией, тоже подойдет новичку. Но как же меня бесит необходимость объявлять переменные строго в определенном месте (в начале функции в секции var) - кто бы знал. Особенно, если функция/метод получается довольно объемным, каждый раз для ввода новой переменной прыгать в начало функции/метода - не айс вообще ) В общем, что-то я тут много букв написал, надеюсь, моя мысль понятна )

Ссылка на комментарий
Поделиться на другие сайты

Еще вопрос, какие языки похожи на язык Lua по синтаксису и другим вещам, из VB, C, C#, C++ ?

 

Нашел несколько цитат и комментариев по теме:

Цитата

Начинать нужно с чего-то такого, что не отобьет на первых парах желание. Язык должен быть таким, чтобы сел — перепечатал из книги строчку и она уже что-то делает. Чтобы все было понятно, без магических заклинаний вроде public static void main, когда для понимания каждого слова приходиться читать по паре глав. Чтобы установка, компиляция и запуск были простые, без необходимости изучать для этого новый язык вроде make-а. Чтобы писать на нем можно было везде, вплоть до телефонов, а не иметь прибитый гвоздями к одной платформе язык. Чтобы было большое комьюнити и куча учебных материалов на всех языках. Чтобы можно было и ООП пописать и функциональщину потрогать. Чтобы учить было легко и при написании не приходилось сильно задумываться как ту или иную вещь сделать, но при этом достаточно строгий, не позволяющий строки в числа неявно конвертировать. Пожалуй все, хочется только добавить, что задерживаться на нем не нужно, как только поняли, что программирование нравится обязательно должен последовать 2, 3, 4 языки.
Ах да, про сам язык то забыл сказать — конечно же Python.

и комментарий:

Цитата

Python. Самый адекватный способ начать программировать сейчас.

Почему?

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

2. Широкая область применения, можете попробовать на нем писать почти все, что угодно.

3. Легок и лаконичен.

4. Не нужно настраивать IDE.

ссылка на источник:

Скрытый текст

 

Еще

Цитата

Если же вы пока не определились с областью, можно смело выбирать C/C++, поскольку, зная этот язык, вы без труда выучите любой другой. Есть только одна вещь, которую важно помнить: как и разговорный язык, язык программирования забывается, если его постоянно не использовать, поэтому лучше владеть одним или двумя языками в совершенстве, чем поверхностно знать большое количество.

Там же был комментарий к таким мнениям:

Цитата

Начинать самостоятельное изучение программирования с C и С++? Да вы знаете толк в извращениях, господа эксперты. Сомневаюсь, что у многих хватит энтузиазма одолеть Си в одиночку с нуля.

 

И еще цитата:

Цитата

Истинная проблема выбора — отсутствие конкретной задачи. Это нормально, потому что понять, чем именно хочется заниматься можно, только оказавшись внутри среды. Поэтому специалисты рекомендуют в качестве первого языка взять тот, с помощью которого можно решить самый широкий спектр задач.

Конечно, узкоспециализированные языки лучше решают задачи, под которые они заточенны, но это следующий шаг. Новичку всё же нужна свобода выбора.

-

C# структурно близок к C++ и Java — синтаксис (структура программного кода) сложнее, чем у Python и Ruby, но зато на изучение родственных языков уйдёт меньше времени. Интерфейсы библиотек хорошо вписываются в шаблоны проектирования — это упрощает изучение.

ссылка на источник:

 

Ссылка на комментарий
Поделиться на другие сайты

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

Если обобщить, то рекомендую изучать языки в таком порядке: Python, Java, C#, C++, ASM x86.

Ссылка на комментарий
Поделиться на другие сайты

Языков программирования - великое множество, так что горячо советую начать с теоретических основ информатики. Разберешься, как работает сам компьютер - будет хотя бы от чего отталкиваться. Дальше я бы посоветовал тот же python, после его изучения и некоторой практики уже сам сможешь понять, что изучать после него. В принципе, можно было бы и ассемблер приплести, но у него сфера применения довольно узкая и (исходя из моей статистики) с него довольно сложно переходить на языки более высокого уровня.

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2017 в 22:33, srg91 сказал:

Ну а вообще "тру посоны" пишут на vim / emacs

Вооо, вот это тема) У меня щас друг целую книгу переваривает по vim) Лютейшая штука.

Хотя с другой стороны он не всегда удобен. Это универсальный редактор, там нет поддержек всяких фич в коде. Типа он допустим не подсказывает, какие члены и методы есть в классе и все такое. То есть проекты на несколько файлов в нем кодить уже неудобно в этом плане. А та же VS все же заточена под те же плюсы неплохо + туда можно плагинов сверху натолкать, типа Visual Assist'a и прочей мишуры. Короче у студии свои плюсы, однозначно.

Изменено пользователем uhx
Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2017 в 20:21, MasterGH сказал:

Интересно @SnedS91 тоже на Python, такие регулярки закручивает с легкостью ))

Да лан че ты, регулярки не такие уж и сложные)

Заходишь на какой-нибудь http://regexr.com/ и делаешь по шустрому регулярку, там довольно удобно + справочник под рукой.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

4 hours ago, uhx said:

Это универсальный редактор, там нет поддержек всяких фич в коде.

В виме плагинов в сотни и тысячи раз больше, чем в MSVS. Там есть абсолютно все, чего душе угодно, уровень кастомизации - просто запредельный. Мое окружение с 10-15 плагинами при этом кушает <50 мегабайт ОЗУ, так что и тут MSVS, мягко говоря, проигрывает.

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, uhx сказал:

на несколько файлов в нем кодить уже неудобно

 

Удобно, а ещё если прикрутить компилятор, то нужна в MSVS отпадает. Да в начале немного сложно разобраться в vim, но потом ты его не на что другое не поменяешь.

У меня когда клава было поломана, у меня бинды на движения в кс стояли на h(a) j(s) k(w) l(d):D

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, partoftheworlD сказал:

Удобно, а ещё если прикрутить компилятор, то нужна в MSVS отпадает

Только это все равно лишь хороший редактор.

Говоря про "несколько файлов" я имел в виду рефакторинг кода, тут vim уступает по всем параметрам. Писать и искать кучу плагинов, чтобы сделать ту же самую IDE? И зачем? Да, он крутой, то что его можно кастомизировать как тебе хочется и все такое, но IDE ведь затачивают под конкретный язык. А это значит, что IDE может организовать приятную и удобную навигацию по проекту, автоподстановку, анализ кода в реальном времени и кучу всего прочего. То есть если твои проекты состоят из одного файла, то конечно проще использовать текстовый редактор, который под это заходит.

А в случае с более крупными проектами можно поставить какой-нибудь ideavim, нежели ставить vim и писать целый функционал ИДЫ под него.

Так или иначе, IDA это такой же мощный инструмент как и vim/emacs, только вот сделан он под язык программирования, а не под текст)

Если для вас IDA - это текстовый редактор, то можете смело переходить на vim)

Изменено пользователем uhx
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Razi сказал:

 

Еще важный вопрос. Какие есть методы изучения языков? Какие методы более эффективны? (С какими методами легче изучаются языки?)

 

Что? О_о В смысле методы?

Могу лишь сказать одно: много практикуйся. Ставь себе какие-то задачи, пусть и тяжелые для тебя ( а легкими они НИКОГДА не будут ), но это лишь повод для движения вперед. По мере достижения поставленной цели будешь встречать много нового и изучать это по ходу. Иначе есть шанс просто надолго забросить это дело, как это было не раз и не два лично у меня. А так ты сможешь СРАЗУ видеть результат, что будет очень мотивировать (привет дофамин) двигаться дальше.

Ты ведь понимаешь, что методики у каждого свои - все зависит от человека и степени его заинтересованности) Со временем возможно поймешь как себя заставлять что-то делать, а не сидеть на жопе ровно)

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, uhx сказал:

Что? О_о В смысле методы?

Если перефразировать, тогда вопрос будет звучать так: как вам наиболее легче было изучать ЯП?

3 часа назад, uhx сказал:

Могу лишь сказать одно: много практикуйся. Ставь себе какие-то задачи

Еще один метод это чтение книг. Но, почерпнуть из книги (в 1000 страниц с примерами) всю информацию не так просто. Довольно большой объем информации, даже если учить по частям. И без практики, теория может быстро забыться.

Ссылка на комментарий
Поделиться на другие сайты

Как выше сказали - практика, практика и еще раз - практика! Можно так: смотришь на тытрупе курс по базовым возможностям выбранного ЯП, затем сразу же ставишь перед собой какую-то задачу, и решаешь ее. Только не банальный Хелло Ворлд, а что-нибудь посерьезнее. Например, можно написать сервер игры в морской бой (кстати, надо будет этим заняться, идея-то неплохая, как раз подтяну знания по питону). Или можно написать сетевой чат для общения. Или можно написать каталогизатор книг fb2. А еще можно написать каталогизатор видеотеки (коллекции фильмов) с запуском плеера по умолчанию при клике на фильм, и со скачиванием постеров из сети. Вот тебе несколько идей, пользуйся ) 

Ссылка на комментарий
Поделиться на другие сайты

13 hours ago, uhx said:

IDE ведь затачивают под конкретный язык

MSVS не заточена под конкретный язык.

 

В виме же:

13 hours ago, uhx said:

организовать приятную и удобную навигацию по проекту

Есть.

 

13 hours ago, uhx said:

автоподстановку

Есть.

 

13 hours ago, uhx said:

анализ кода в реальном времени

Есть.

 

Потому что по сути IDE - это текстовый редактор, из которого можно вызывать компилятор и отладчик. И все. Не три окошка, а одно, можно и так сказать. Лично я отладчиком не пользуюсь, но у меня при этом есть и навигация (как по дереву всего проекта, так и по вкладкам и буферам), подсветки/автоподстановки, анализ и рефакторинг на лету, интеграция с VCS, деплой одной кнопкой, тесты и прочие автосохранения. Проблема тут только в том, что по сравнению с MSVS оно банально быстрее работает и не жрет оперативку.

 

15 hours ago, Razi said:

Еще важный вопрос. Какие есть методы изучения языков? Какие методы более эффективны? (С какими методами легче изучаются языки?)

Сядь и подумай, что бы тебе хотелось сделать или облегчить. Банально поиск по файлам или сортировку. Как только придумаешь - разбивай на подзадачи и выполняй их шаг за шагом, по одной.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Если про редакторы, то у меня на первом месте Sublime Text, там есть буквально все что нужно для счастья и открывается в секунды :) Для веб разработок можно PhpStorm использовать (от тех же JetBrains) А выбор языка должен исходить из поставленных задач, по сути понимая общие принципы построения алгоритмов, можно изучить абсолютно любой язык только лишь прочитав синтаксис. Мне какое то время нравилась Java (даже для телефона сделал пару игр для себя) Сейчас плотно программирую на php, т.к. зарабатываю на создании и продвижении сайтов. Главное в изучении не терять энтузиазм и каждый день читать новости и документацию по языку, таким путем можно вполне стать профессионалом в короткие сроки и быть довольно востребованным.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.