Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: C или python  (Прочитано 14445 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DenisVASI

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
C или python
« : 24 Июня 2015, 10:03:45 »
Поступил на прикладную информатику, из языков нормально знаю только python, стоит ли изучать си или можно и дальше углубляться в python

_Konstantin_

  • Гость
Re: C или python
« Ответ #1 : 24 Июня 2015, 11:07:37 »
Поступил на прикладную информатику, из языков нормально знаю только python, стоит ли изучать си или можно и дальше углубляться в python
Не вижу смысла углубленного изучения Си, тогда уж лучше С++, т.к. Си по сравнению с Python нельзя сравнивать - Си процедурный язык, а Python с ООП...

Оффлайн FixNix

  • Участник
  • *
  • Сообщений: 208
    • Просмотр профиля
Re: C или python
« Ответ #2 : 24 Июня 2015, 11:11:12 »
Многое зависит от того: какую цель вы преследуете в изучении языка?
На python`е приятно программировать, а C - это, порой, необходимость.
Я если хочу получить шуструю программу или которая будет потреблять немного ресурсов, то выбираю C (или производные).
На python`е предпочитаю программы утилитарного назначения (утилиты, настройки, твики), которые не будут постоянно висеть в процессах.
Моё мнение, что изучение C никогда не помешает. А для более углубленного понимания некоторых процессов в программировании (за счёт того, что это низкоуровневый язык) - вообще необходимо.
ubuntu 16.04 x64 - комп. на работе и ноут дома, Nautilus Nemo (2.8.7) для Unity.
Если хочешь сделать что-то хорошо, сделай это сам.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: C или python
« Ответ #3 : 24 Июня 2015, 12:11:37 »
Поступил на прикладную информатику, из языков нормально знаю только python, стоит ли изучать си или можно и дальше углубляться в python
Для программиста профессионала (для которого это работа) и особенно в Linux (а это форум Linux) знание C - обязательно ... но можно только на уровне понимания что там написано. Потому что весь Linux и его API (POSIX) - эо всё выражается только в C-нотации. Писать на C? ... это уже дело вкуса - кому как.

Python - очень современный инструмент следующего поколения, для быстрой (но не очень качествнной) разработки.

Изучать C++, как здесь предлагали, не надо: C++ это язык из-за своей громоздкости умирающий и обречённый на умирание ... но медленное.

Лучше посвятить время языку Go (Golang) - это прямое развитие C, но в лучшую сторону чем C++. Это язык который уже становится основным на ближайшее десятилетие.
 

Оффлайн streyz

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: C или python
« Ответ #4 : 24 Июня 2015, 12:33:07 »

Изучать C++, как здесь предлагали, не надо: C++ это язык из-за своей громоздкости умирающий и обречённый на умирание ... но медленное.
 

Угу, вместе с линуксом. лол.

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

Как минимум лет 20 C++ будет жить.

Оффлайн Komorebi

  • Активист
  • *
  • Сообщений: 475
    • Просмотр профиля
Re: C или python
« Ответ #5 : 24 Июня 2015, 12:49:11 »
С++ будет всегда. Даже если нет, изучив его Вы легко освоите другие языки и даже сможете перейти на что-то более низкоуровневое при необходимости. С++ так же хорошо учит понимают того, что есть утечка, ссылки и так далее. Большинство современных языков обладают C++-похожим синтаксисом.
Питон практически никому не нужен и не учит Вас буквально ничему. У него так же нет преимуществ перед другими высокоуровневыми ЯП. Кроме того, приложения, написанные на питоне, как правило люто тормозят. Нормальную оплачиваемую работу Вы так же скорее всего не найдете.
Вообщем, выбор очевиден. Лучшей будет связка C++ и Qt.

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5738
  • Все по палатам!
    • Просмотр профиля
Re: C или python
« Ответ #6 : 24 Июня 2015, 13:02:09 »
Поступил на прикладную информатику, из языков нормально знаю только python, стоит ли изучать си или можно и дальше углубляться в python
Неправильная постановка вопроса. Язык не имеет значения, важнее знать принципы программирования. А используемый язык чаще всего выбирается оптимальным для конкретного класса задач. Так что надо изучать/пробовать разные языки (от asm до всяких ++ # *lang скриптов), чтобы быть в курсе... никто не знает, что может понадобиться через 10 лет
Извините, я все еще учусь

_Konstantin_

  • Гость
Re: C или python
« Ответ #7 : 24 Июня 2015, 13:02:14 »
С++ будет всегда. Даже если нет, изучив его Вы легко освоите другие языки и даже сможете перейти на что-то более низкоуровневое при необходимости. С++ так же хорошо учит понимают того, что есть утечка, ссылки и так далее. Большинство современных языков обладают C++-похожим синтаксисом.
Питон практически никому не нужен и не учит Вас буквально ничему. У него так же нет преимуществ перед другими высокоуровневыми ЯП. Кроме того, приложения, написанные на питоне, как правило люто тормозят. Нормальную оплачиваемую работу Вы так же скорее всего не найдете.
Вообщем, выбор очевиден. Лучшей будет связка C++ и Qt.
Согласен на все 100, только Qt это не совсем ЯП, это фреймворк основанный на С++, со своим ядром.
С++ по моему мнению не умрет, т.к. он как раз развивается - 11,12,14. И те недостатки которые были в начальном С++, они уже давно ликвидированы. А то, что какой нить программист с явы или шарпа говорит о вымирании С++ и при этом утверждает, что С++ медленнее, так это от незнания материала. Во всех высокоуровневых ЯП где программисту не дано задумываться о работе с памятью, есть встроенные менеджеры памяти, которые следят за своевременной очисткой и т.д., а значит и скорость работы ПО на таких ЯП будет меньше.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: C или python
« Ответ #8 : 24 Июня 2015, 13:13:31 »

Изучать C++, как здесь предлагали, не надо: C++ это язык из-за своей громоздкости умирающий и обречённый на умирание ... но медленное.
 

Угу, вместе с линуксом. лол.
При чём C++ к Linux ... или Linux к C++?
Если C - как язык для написания UNIX-like систем и был создан, если все BSD, Linux, Minix, Solaris (иначально) и все-все-все были прописаны на C и только в нотации C, весь POSIX API формудируется в C, модули ядра Linux пишутся исключительно и только на C ... - здесь родство понятно.
А C++ с Linux ничего не роднит и не связывает ... разве что он "нэмножечко пахож на C".
На C++ как раз гораздо чаще и гораздо больше проектов делается в Windows, там его естественная среда обитания, а в Linux - достаточно скромная доля.


Пользователь решил продолжить мысль [time]24 Июнь 2015, 14:19:45[/time]:
Питон практически никому не нужен и не учит Вас буквально ничему. У него так же нет преимуществ перед другими высокоуровневыми ЯП. Кроме того, приложения, написанные на питоне, как правило люто тормозят. Нормальную оплачиваемую работу Вы так же скорее всего не найдете.
Не учите юношу своим откровенным глупостям.
Python на сегодня - самый востребованный язык в аутососинговых проектах и конторах (наравне с Ruby). Или вы собираетесь писать программное обеспечение ... местечковое, для ближайшего колхоза?
И Python один из самых высокооплачиваемых языков (наравне с Java).

А чтоб не быть голословным, вот вам и другим ссылочка: Программисты: работа и оплата - там в конце есть свежие, 2015 года, статистические отчёты, подготовленные очень квалифицированными рекрутинговыми агенствами.
Почитайте ... и прослезитесь. :2funny: :coolsmiley:
« Последнее редактирование: 24 Июня 2015, 13:40:27 от Olej »

Оффлайн goditsa8

  • Участник
  • *
  • Сообщений: 231
    • Просмотр профиля
Re: C или python
« Ответ #9 : 24 Июня 2015, 13:36:01 »
DenisVASI,
Изучайте алгоритмы, структуры данных, математику и т.п. Если вы не знаете, что такое арбуз, то вы не сможете объяснить, как его есть, ни на одном языке.

_Konstantin_

  • Гость
Re: C или python
« Ответ #10 : 24 Июня 2015, 13:58:28 »
Olej,
Если говорить о раннем Linux, то он действительно написан в большей мере на Си. Но современные дистрибутивы комплектуются ПО написанным так же и на С++, а отличие Си и С++ разве что в ООП в последнем и не более того. Я не пишу о полном соответствии языков, но основа в них одна - Си.
А вот утверждать, что С++ для Windows как то не корректно, Microsoft все пишет на C# и что бы подтянуть в свое сообщество больше программистов, даже выпустил .NET под разные ЯП, в т.ч. и для С++ ( С++ CLI ).
Взгляните на сообщество фреймворка Qt, оно ориентированно под многие платформы, но в начальной своей стадии под Linux. А ведь там ЯП С++.
И кстати автор ни словом не упомянул про то, где он будет использовать ЯП, поэтому и посыпались всевозможные рекомендации :) Написал бы он сразу, что будет использовать ЯП в Linux, то конечно ему ни кто бы тут не стал предлагать C#. Но Си все таки ориентирован больше на низкоуровневое программирование чем Python и С++.
Ссылки приведенные вами так же не означают однозначность в ответах. Найдите там списки IT компаний в которых проводилось исследование, почему то не уверен, что там будет хотя бы одна Сибирская IT компания, а нас этот рынок достаточно большой и пользуются там спросом программисты в большей части С++ знающие Qt, C#, 1С, а вот Python, Java, Ruby и т.д. как то в меньшем количестве ищутся кандидаты.

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: C или python
« Ответ #11 : 24 Июня 2015, 13:58:37 »
Питон практически никому не нужен и не учит Вас буквально ничему.
Кроме того, приложения, написанные на питоне, как правило люто тормозят.

Ну холивар же  :)

http://morepypy.blogspot.ru/2011/02/pypy-faster-than-c-on-carefully-crafted.html
http://morepypy.blogspot.ru/2011/08/pypy-is-faster-than-c-again-string.html

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

Да и в Ubuntu много чего понаписано на Питоне.

DenisVASI,
Можете углубляться в Си через Питон: https://github.com/python/cpython
https://docs.python.org/2/extending/index.html

_Konstantin_

  • Гость
Re: C или python
« Ответ #12 : 24 Июня 2015, 14:01:47 »
Цитировать
...Кроме того, было исследование на студентах институтов, которое показало, что разница в производительности у разных реализаций программ на С гораздо выше, чем, например, на Python...
Так ведь так и должно быть, Си использует все в первозданном виде, там чистый код без абстракций :) Его поэтому и используют как основной если нужна скорость обработки высокая и малый размер ПО. Но при этом он естественно более трудоемок чем ЯП использующие ООП.

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: C или python
« Ответ #13 : 24 Июня 2015, 14:13:34 »
С++ так же хорошо учит понимают того, что есть утечка, ссылки и так далее.
И не только он:
http://asvetlov.blogspot.ru/2013/05/gc.html
http://www.michurin.net/tools/python-leaks.html
http://eax.me/garbage-collection/

Пользователь решил продолжить мысль 24 Июня 2015, 14:16:10:
Цитировать
...Кроме того, было исследование на студентах институтов, которое показало, что разница в производительности у разных реализаций программ на С гораздо выше, чем, например, на Python...
Так ведь так и должно быть, Си использует все в первозданном виде, там чистый код без абстракций :) Его поэтому и используют как основной если нужна скорость обработки высокая и малый размер ПО. Но при этом он естественно более трудоемок чем ЯП использующие ООП.
В том-то и дело, что исследование показало, что часть студентов умудрились написать программы на Си выполняющиеся медленнее, чем аналогичные по задаче на Питоне (именно CPython).
« Последнее редактирование: 24 Июня 2015, 14:16:10 от Freezeman »

Lifewalker

  • Гость
Re: C или python
« Ответ #14 : 24 Июня 2015, 14:18:50 »
Для начала изучите программирование, т.е. как писали выше алгоритмы, etc. Для этого сгодится строгий, дисциплинирующий мозги, язык вроде Ады или Оберона*. Затем изучайте то, чем будете пользоваться для реализации проектов, хоть Жабу хоть Си++ хоть простихосподи™ Питон.

* Например, в Оксфорде (по слухам) для изучения программирования используют Оберон для процедурного и ООП, и Хаскель для функциональщины.

 

Страница сгенерирована за 0.022 секунд. Запросов: 21.