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


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

Автор Тема: Что можно писать на Си (C) и Python?  (Прочитано 9572 раз)

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

Оффлайн kaziev-95

  • Автор темы
  • Участник
  • *
  • Сообщений: 228
  • Ставь Ubuntu
    • Просмотр профиля
    • Убунту для жизни
Что можно писать на Си (C) и Python?
« : 05 Июня 2012, 23:41:17 »
Что можно писать на Си (C) и Python? И можно ли их как-то совместить? Нужен полный ответ!

Оффлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #1 : 05 Июня 2012, 23:43:26 »
На С можно писать ВСЁ  ;)
Извините, я все еще учусь

Оффлайн Orfer

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #2 : 07 Июня 2012, 18:05:30 »
Что можно писать на Си (C) и Python? И можно ли их как-то совместить? Нужен полный ответ!

Существует несколько способов подружить Python и С:

1) написать на С модуль, скомпилировать его gcc, а потом подгружать в программе на Python
2) использовать универсальное средство SWIG

Рекомендую книгу: Марк Лутц. Программирование на Python

Оффлайн andrew_bye

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2698
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #3 : 07 Июня 2012, 20:05:34 »
Лучше наверное использовать связку Си и Перл, поскольку у них схожий синтаксис.

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Что можно писать на Си (C) и Python?
« Ответ #4 : 06 Июля 2012, 02:54:20 »
Что можно писать на Си (C) и Python? И можно ли их как-то совместить? Нужен полный ответ!

1) написать на С модуль, скомпилировать его gcc, а потом подгружать в программе на Python


Этот способ применяется, кстати, для многих питоновых библиотек, так что так делать даже очень хорошо. А вообще, даже на чистом Python можно написать любое десктопное приложение. Единственное ограничение, это системное программирование. Если нужно напрямую работать с железом, то лучше писать на Си. Если связать Си и Питон, то можно написать вообще все.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #5 : 06 Июля 2012, 10:23:08 »
Единственное ограничение, это системное программирование. Если нужно напрямую работать с железом, то лучше писать на Си.
сам Linux написан на С, поэтому:
- не только "с железом", но и всё, что связано со структурами данных Linux и т.д.
- всё, что есть подгружаемые модули ядра (драйверы) - только С;
- многие IPC (средства взаимодействия процессов, параллельность и синхронизации) в полной мере реализованы только в библиотеках С (но в упрощённых формах есть и в других), то же относительно сетевых сокетов;
- большинство утилит GNU (которые мы знаем как "команды") написаны на С, часть на Perl, некоторые (последних лет) на Python.

P.S. а вообще, нынешнее повальное увлечение Python - это вопрос сезонной моды ;) (такое уже было и не раз с другими средствами), завтра будет что-то другое ... в этом и состоит главная разница: С - это база, фундамент (в UNIX, по крайней мере), а Python - это мода.

 
« Последнее редактирование: 06 Июля 2012, 10:31:27 от Olej »

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Что можно писать на Си (C) и Python?
« Ответ #6 : 06 Июля 2012, 13:46:31 »
Единственное ограничение, это системное программирование. Если нужно напрямую работать с железом, то лучше писать на Си.
P.S. а вообще, нынешнее повальное увлечение Python - это вопрос сезонной моды ;) (такое уже было и не раз с другими средствами), завтра будет что-то другое ... в этом и состоит главная разница: С - это база, фундамент (в UNIX, по крайней мере), а Python - это мода.

Мода, конечно, тоже, но еще играет значительную роль и тот факт. что на Python очень много чего написано и в самой Ubuntu, например, плюс к этому Python есть в любой unix-based системе. Просто по мимо Python, есть мода еще и на Ruby, например, но его бы я не стал советовать для разработки приложений под Linux.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #7 : 06 Июля 2012, 15:20:53 »
но еще играет значительную роль и тот факт. что на Python очень много чего написано и в самой Ubuntu, например,
в Ubuntu вообще ничего не пишут ;) - пишут в Linux.
Ubuntu - это дистрибутив, в котором для Linux написано меньше, чем в любом другом из существующих дистрибутивов ;).

А в остальном да, всё верно - написано много.
Но меньше, скажем, чем на Perl, который долгие годы был языком системного программирования (администрирования?) для UNIX.
Или меньше, чем на shell.
« Последнее редактирование: 06 Июля 2012, 15:23:19 от Olej »

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Что можно писать на Си (C) и Python?
« Ответ #8 : 06 Июля 2012, 17:28:52 »
но еще играет значительную роль и тот факт. что на Python очень много чего написано и в самой Ubuntu, например,
в Ubuntu вообще ничего не пишут ;) - пишут в Linux.

Но меньше, скажем, чем на Perl, который долгие годы был языком системного программирования (администрирования?) для UNIX.
Разве вообще ничего? В Softwarecenter много написано именно на Python, в Ubuntu One тоже, еще линзы пишутся на Python, многие системные скрипты убунты. По поводу perl тоже не могу согласиться. Возможно я сделал что-то неправильно, но я вывел в файлы pythoninubuntu и perlinubuntu (искал и .pl и .cgi, cgi было вообще в пределах сотни) вывод следующих команд соответственно:
sudo find / -name '*.py' > pythoninubuntu

sudo find / -name '*.pl' > perlinubuntu
Затем gedit'ом открыл эти файлы. Питоновских скриптов было найдено более 12 000, перловских - более 1300. Питоновских оказалось больше почти в 10 раз.
P.S.
Сразу хочу извиниться, может быть я не так искал файлы perl, так как не писал на нем никогда, поэтому могу чего-то не  знать.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #9 : 06 Июля 2012, 19:28:41 »
в Ubuntu вообще ничего не пишут ;) - пишут в Linux.
Разве вообще ничего? В Softwarecenter много написано именно на Python, в Ubuntu One тоже, еще линзы пишутся на Python, многие системные скрипты убунты.
никогда и ни очём нельзя говорить категоричное "вообще" ... но почти что так, Ubuntu - это, безусловно самый "паразитический" дистрибутив Linux из всех существующих - www.nixp.ru/news/11683.html :
Цитировать
05.04.2012 17:15
Шаттлворт: Почему Canonical нет среди главных контрибьюторов в ядро Linux?
Опубликованный на днях очередной отчёт по разработке ядра Linux вновь напомнил о теме, которая весьма широко и долгое время обсуждается в Open Source-сообществе: где же вклад Canonical?
...
Напомним, что, согласно последнему отчёту The Linux Foundation, Canonical нет среди первой двадцатки компаний, которые вносят наибольшее число изменений в код ядра Linux.
...
Подводя итог, можно сказать, что Canonical участвует в работе над ядром лишь в той мере, в которой это требуется для её бизнеса, оставив фундаментальные заботы по его развитию другим игрокам рынка (софтверным компаниям вроде Red Hat, Novell, Oracle; «железным» гигантам Intel, IBM, AMD и т.п.).
- это свеженький материал, но подобных в природе раскидано великое множество ;)

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #10 : 08 Июля 2012, 01:01:50 »
Подводя итог, можно сказать, что Canonical участвует в работе над ядром лишь в той мере, в которой это требуется для её бизнеса, оставив фундаментальные заботы по его развитию другим игрокам рынка
нету у каноникал никакого бизнеса. убытки одни. работают просто just for fun.
сопротивление бесполезно

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #11 : 08 Июля 2012, 03:06:58 »
Подводя итог, можно сказать, что Canonical участвует в работе над ядром лишь в той мере, в которой это требуется для её бизнеса, оставив фундаментальные заботы по его развитию другим игрокам рынка
нету у каноникал никакого бизнеса. убытки одни. работают просто just for fun.

ага, ща-а-а-аз ... альтруисты хреновы ;)

Оффлайн Artif

  • Участник
  • *
  • Сообщений: 207
    • Просмотр профиля
Re: Что можно писать на Си (C) и Python?
« Ответ #12 : 10 Июля 2012, 18:07:18 »
Что можно писать на Си (C) и Python? И можно ли их как-то совместить? Нужен полный ответ!

Что-то никто не сказал про объектную ориентированность (ОО). При одинаковых затратах мозга, ОО язык позволяет создавать более сложные системы, нежели процедурный. Возникает мысль, что "железо" надо программировать на языках предложенных разработчиком, или языках сходных по логике. А приложения писать используя существующие наработки людей, на объектно ориентированных языках. Не отбрасывая чужой опыт. Именно таким образом никто не сравнил Си и Python.

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

Fortran был сделан под математику, в середине прошлого века. По сей день физики-математики его используют, т.к. хорош для математики, не слышно про использование ещё где-то. Вот Google для Android и "пользовательской" части выбрал, с чего бы это, объектную Java. Когда в ядре системы применены Си наработки прошедших лет (ядро Linux, большой объём отлаженного кода, с большим сообществом разработчиков).

На всякий случай. Если пытаться выбрать "вечное", то его нет. Всё меняется быстро и несколько раз в пределах одной жизни. Возникает мысль: объём Java кода и его применения уже таковы, что современнный Jav'ист будет востребован ещё десятки лет. В т.ч. навыки ООП будут более универсальны, более востребованы, если наперёд не известны детали. Это интересно в т.ч., если стоит вопрос - чему учиться.

 

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