Какой выбрать язык программирования?., Нуждаюсь в советах от профи. |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6881-й день
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
Какой выбрать язык программирования?., Нуждаюсь в советах от профи. |
vitallydion |
Jun 9 2015, 13:54
Пост
#1
|
Репутация: 8 Дух Группа: Пользователи Сообщений: 167 С нами с: 12-May 11 |
Здравствуйте, со форумчани.
Хотел, так сказать, услышать совет от Профессионал, которые в этом деле так сказать "Варятся". Я сис админ. очень давно учил Паскаль и тд. и удачно забыл. Решил для себя попробовать данную отрасль, так сказать мне нравиться ковыряться в коде, решать логические задачи. Правда хотелось поскорее выучить C++(книга хорошая попалась). Плюс я по математике не отличник. Вот немного пообщавшись, с людьми, постал вопрос, стоит ли дальше его учить(книгу освоил меньше половины) говорят, что язык тяжелый, очень много учить надо, плюс порог высокий. На додачу мне 30. Вот и думаю, выучить любимую книгу, и потом перейти на JavaScript или дальше новые материалы по С++, или С#. Как-то душа лежит на написание программ для Операционных систем, а не для веба. Здесь написал запустил и радуешься, что получилось и показываешь. Говорят еще, что после него можно писать на разные платформы. Помогите плиз человеку, какую лучше дверь открыть. Подскажите коллеги, поделитесь опытом, + добро, сами знаете, возвращается) Плюс мне нравиться, это, и готов работать ради опыта. PS. Спасибо за помощь. Сообщение отредактировал vitallydion - Jun 9 2015, 14:10 |
-RC- |
Jun 24 2015, 9:56
Пост
#61
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
|
Phaust |
Jun 24 2015, 21:54
Пост
#62
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
|
Carnifex |
Jul 1 2015, 9:42
Пост
#63
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
Существует легенда, что вселенная написана на С++ По сабжу, С++ (QT, как вариант) по моему опыту используется для написания всего под одну машину (ну, в крайнем случае, под локалку) и подключения к этой машине всевозможного hardware. Заливки в железо софта, написания драйверов и т.д. и т.п. С++ отлично ладит с ассемблером, к слову, да так ладит что большинство устройств (имеющих хотя б один ПЛИС и проц) именно так и программируются. Но вот если ты захотел хотябы приблизится к web (а того гляди к web 2.0) тут уже в силу вступает C# и .NET. Я не встречал более юзер-френдли работы с памятью, я не встречал более удобной сборки всех и всяческих GUI, Web API, WebPages, File менеджемента, работы со всеми известными базами данных и прочими составляющими приложения уровня предприятия. Как вывод - я прекрасно понимаю что ядро .NET (общеязыковая среда выполнения (CLR)) написано на С/С++, но, все же, позволю себе сравнить C# с построение дома из дикого камня, а С++ с предшествующим построением этих камней из слюды, песка и оксидов металлов. Касательно Java - мне этот язык более схож с С# (точнее это С# похож на Java), но удобство выполнения приложений под мобильные устройства перенесло Java в совершенно иную категорию, во имя сравнения которой с С-family языками можно написать книгу.
|
vitallydion |
Jul 2 2015, 10:04
Пост
#64
|
Репутация: 8 Дух Группа: Пользователи Сообщений: 167 С нами с: 12-May 11 |
Существует легенда, что вселенная написана на С++ По сабжу, С++ (QT, как вариант) по моему опыту используется для написания всего под одну машину (ну, в крайнем случае, под локалку) и подключения к этой машине всевозможного hardware. Заливки в железо софта, написания драйверов и т.д. и т.п. С++ отлично ладит с ассемблером, к слову, да так ладит что большинство устройств (имеющих хотя б один ПЛИС и проц) именно так и программируются. Но вот если ты захотел хотябы приблизится к web (а того гляди к web 2.0) тут уже в силу вступает C# и .NET. Я не встречал более юзер-френдли работы с памятью, я не встречал более удобной сборки всех и всяческих GUI, Web API, WebPages, File менеджемента, работы со всеми известными базами данных и прочими составляющими приложения уровня предприятия. Как вывод - я прекрасно понимаю что ядро .NET (общеязыковая среда выполнения (CLR)) написано на С/С++, но, все же, позволю себе сравнить C# с построение дома из дикого камня, а С++ с предшествующим построением этих камней из слюды, песка и оксидов металлов. Касательно Java - мне этот язык более схож с С# (точнее это С# похож на Java), но удобство выполнения приложений под мобильные устройства перенесло Java в совершенно иную категорию, во имя сравнения которой с С-family языками можно написать книгу. Спасибо большое за разъяснение. |
Carnifex |
Jul 2 2015, 20:01
Пост
#65
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
Ах да... На счет математики. Если уж ты решил выучить С++, то помни что самые трудноуловимые баги как раз и возникают при недружелюбных отношениях программиста с математикой. К примеру, в том случае если ты комплишь программу в отладочном режиме (Debug) компилятор станет выделять тебе память кусками по 4 байта для двухбайтового значения, а в чистовой версии (Release) этот же компилятор задумается о быстродействии и экономии. Возьмет, да и выделит тебе кусок в 2 байта вместо привычных тебе 4-х и, если у тебя по случайности ошибка в проге и имеет место переполнение, вот тут-то оно и даст о себе знать. Но не сразу, возможно Подобные ошибки безумно сложно найти и исправить, они называются плавающими и могут возникнуть после перезаписи значения в 5-й, 6-й, 7-й и т.д. раз. Ну? Что это как не чистая математика? Если решил программировать - математику лучше знать. Как тестовою задачу на С++ (их обычно новичкам и не хватает) напиши графическое представление Фрактала Мандельброта. Очень тонизирует, знаешь-ли
|
Celin |
Jul 2 2015, 20:16
Пост
#66
|
Репутация: -342 rtfm Группа: Пользователи Сообщений: 5 264 С нами с: 4-April 08 |
Вы пересмотрели американских фильмов. Любой момент в софте можно контролировать и отлавливать. Логические ошибки возникают тогда, когда разработчик упустил какое-то условие.
Тяжело отлавливать ошибки платформы на которой работает софт. Тут уж разве что откатиться на старую версию и обновиться на новую и надеется, что баг уже пофикшен. |
Carnifex |
Jul 2 2015, 21:03
Пост
#67
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
Конечно можно. И руками память под каждую переменную выделять тоже можно. Я просто позволил себе описать баг над оторым мой коллега, пишущий на С++ и QT бился 2 недели. А потом почитал статейку одного разработчика, оптимизатора компиляторов и нашел баг. В случае написания алгоритмов шифрования "с ноля", а не подключения из стандартных библиотек довльно часто приходится иметь дело с ошибками в одном бите последовательности в 256 байт или в одном байте недовыделенной памяти И Вы не представляете насколько часто. Практическое применение - написание системы аутентификации с вводом пароля, повседневная задача которую, тем не менее, нужно продумать с точки зрения математики.
Я не пишу про логические ошибки. Я пишу про ошибки которые нужно было отлавливать на этапе отладки (++ вместо + или - вместо -- i++ вместо ++i) и т.д. А на этапе отладки все было хорошо, потому что памяти хватало. И это не баг платформы, она впорядке. А откатить написаный собой же софт потеряв новую функциональность - зачем тогда вообще что-то писать. И фиксить, зачастую, некому кроме самого программиста В любом случае, Вы же не откажетесь от знания программистом алгоритмов (хоть даже и перевод числа в другую систему) и графов? А что это как не преобразование чисел, названное, в свое время, математикой. Сообщение отредактировал Carnifex - Jul 2 2015, 21:30 |
-RC- |
Jul 2 2015, 22:50
Пост
#68
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
графическое представление Фрактала Мандельброта. в java проще будет, там готовые классы хоть для работы с комплексными числами, хоть с построением цвета и картинки. |
DonaldZems |
Sep 4 2015, 15:37
Пост
#69
|
Незарегистрированный |
Какой язык программирования в ближайшем будущем будет самым востребованным?
Вот мне посоветовали Java. А Вы что думаете по этому поводу? |
TurboDima |
Sep 4 2015, 15:48
Пост
#70
|
Репутация: 372 Ветеран Группа: Пользователи Сообщений: 6 998 С нами с: 18-March 09 |
|
-RC- |
Sep 4 2015, 19:40
Пост
#71
|
Репутация: 424 bifurcated person Группа: Пользователи Сообщений: 6 519 С нами с: 24-December 08 |
js конечно
|
Phaust |
Sep 4 2015, 21:01
Пост
#72
|
Репутация: 1176 сам себе авторитет Группа: Пользователи Сообщений: 14 117 С нами с: 9-July 07 |
Cobol. Он будет вечно.
|
NigeL |
Sep 22 2015, 14:24
Пост
#73
|
Благодарности: 11010 Репутация: 297 Постоялец Группа: Пользователи Сообщений: 1 899 С нами с: 1-August 09 |
Зачем с 0 браться за языки программирования, типа С++, Джава?
По опыту никто с 0 за 1 год без профильного образ. на джуна не устраивался будучи самоучкой в отличие от веб-быдлокодеров. |
Cyrax79 |
Dec 20 2015, 11:18
Пост
#74
|
Репутация: 996 Ветеран Группа: Пользователи Сообщений: 7 937 С нами с: 23-November 07 |
Решил для себя начать учиться. Про мониторив сайты и форумы, остановил свой выбор на Python. Что скажут проффесионалы?
|
Carnifex |
Dec 20 2015, 18:48
Пост
#75
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
Решил для себя начать учиться. Про мониторив сайты и форумы, остановил свой выбор на Python. Что скажут проффесионалы? ДОУ Рейтинг языков По удобству описания объектов и синтаксису - не могу ничего сказать ибо как-то это совсем индивидуально. Главное - чтобы язык нравился Вам. У меня есть сотрудник который, как в анекдоте, "программист на С++ напишет код на любом языке на С++". А я его учу только в связи с необходимостью. |
Like |
Dec 21 2015, 0:30
Пост
#76
|
Репутация: 1156 ultra active user Группа: Пользователи Сообщений: 16 837 С нами с: 5-April 11 |
Я не профи и только учусь.
Со своей колокольни могу лишь отметить что высокоуровневый язык хоть и повышает производительность, параллельно облегчая обучение ему, но не дает должного понимания как работает компьютер. Те же #include подтягивают кучу кода, который банально может на определенных участках не отрабатываться как атомарная операция и при уходе в прерывание вылезут баги в самых непредсказуемых местах если не знать как и где защищаться. Поправьте, если ошибаюсь. |
Carnifex |
Dec 21 2015, 11:15
Пост
#77
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
Те же #include подтягивают кучу кода Куча кода будет добавлена только в случае подключения статической библиотеки (*.lib). А #include просто "говорит" линкеру откуда и что брать. Это просто ссылка. И если что-то не так - на этапе линковки это будет видно. На моей памяти самые "веселые" баги когда люди не понимают в чем разница между Debug и Release модами. Компилятор и линковщик нормально описывают чем они не довольны. |
Like |
Dec 21 2015, 12:55
Пост
#78
|
Репутация: 1156 ultra active user Группа: Пользователи Сообщений: 16 837 С нами с: 5-April 11 |
Раньше занимался микроконтроллерами.
То, что в с++ описано как одна функция, в ассемблере выглядело как треш и угар, по причинам указанным выше. Но код вполне рабочий. И на уровне работы с железом напрямую качество кода сразу было видно. Сообщение отредактировал Like - Dec 21 2015, 13:00 |
Carnifex |
Dec 21 2015, 14:36
Пост
#79
|
Репутация: 16 Дух Группа: Пользователи Сообщений: 179 С нами с: 5-July 09 |
По ассемблеру не скажу - не специалист. Благо, начинал уже с Паскаля))
|
NigeL |
Dec 21 2015, 18:02
Пост
#80
|
Благодарности: 11010 Репутация: 297 Постоялец Группа: Пользователи Сообщений: 1 899 С нами с: 1-August 09 |
Раньше занимался микроконтроллерами. То, что в с++ описано как одна функция, в ассемблере выглядело как треш и угар, по причинам указанным выше. Но код вполне рабочий. И на уровне работы с железом напрямую качество кода сразу было видно. Чтобы написать книгу тебе не нужно знать как она сшивается и как её делают из дерева. Для работы с языком достаточно знать нужные алгоритмы, библиотеки и фреймворки, ну и сам язык, желательно Хотя некоторые языки и этого не требуют, привет JQuery. За исключением, конечно, если ты реально занимаешься вещами приближенному к железу. Но зачем, к примеру, похапэ кодеру знать всё это - я в упор не понимаю. Сообщение отредактировал NigeL - Dec 21 2015, 18:05 |
Упрощённая версия | Сейчас: 15th January 2025 - 18:59 |
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |