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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Язык С, с чего начнём?  (Прочитано 6399 раз)

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

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Язык С, с чего начнём?
« Ответ #15 : 17 Апреля 2012, 18:20:33 »
Но если судить по скорости работы КДЕ и Гном, то Гном объективно работает быстрее
У всех по разному.

P.S. Юнити это GTK+
Если не ошибаюсь, то Unity - это pygtk, а Unity2d - qt. Насколько я знаю.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Nikki1993

  • Автор темы
  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #16 : 17 Апреля 2012, 18:48:03 »
Хорошо, допустим я буду использовать GTK+, так что же с языком С или С++ ( я понимаю, что можно говорить часами, но исходя из ответов на форуме, возникло впечатление, что С++ это С с наворотами или иначе говоря С устаревший язык?  :-\ )
Мои задачи написание программ под разные задачи, как пример создание аналога Notepad++ для Linux.
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #17 : 17 Апреля 2012, 19:02:40 »
Хорошо, допустим я буду использовать GTK+, так что же с языком С или С++ ( я понимаю, что можно говорить часами, но исходя из ответов на форуме, возникло впечатление, что С++ это С с наворотами или иначе говоря С устаревший язык?  :-\ )
Мои задачи написание программ под разные задачи, как пример создание аналога Notepad++ для Linux.

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

Но как уже сказал RazrFalcon, ГУИ для Linuxа это Qt, GTK+, wxWidgets из которых 2 варианта это С++ (а если добавить gtkmm  то 3 варианта) и только один вариант это С. Следовательно логичнее было бы выбрать более универсальный С++.

P.S. Сам я поклонник С++
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн Nikki1993

  • Автор темы
  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #18 : 17 Апреля 2012, 19:35:26 »
GTK + для Gnome правильно?
Qt для KDE?
получается у меня не остается выбора если хочу писать приложения под Gnome, то учить С, а не C++ ? или же можно использовать связку C++ GTK+ ?
P.S могу ли я сказать, что С++ это тот же С + объектно-ориентированное программирование?
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Язык С, с чего начнём?
« Ответ #19 : 17 Апреля 2012, 19:57:54 »
Цитировать
можно использовать связку C++ GTK+ ?
gtkmm

Цитировать
GTK + для Gnome правильно?
Qt для KDE?
Нет.
KDE написан на Qt. Gnome на gtk+.
kdelibs для KDE. glib для Gnome.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #20 : 17 Апреля 2012, 21:24:12 »
Цитировать
Если изучите С++, то автоматически будете знать С, так как С++ это усложнённая версия С.
Ну бред же, не? Два разных языка, каждый со своими подходами.

Оффлайн Nikki1993

  • Автор темы
  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #21 : 17 Апреля 2012, 21:36:32 »
Цитировать
Если изучите С++, то автоматически будете знать С, так как С++ это усложнённая версия С.
Ну бред же, не? Два разных языка, каждый со своими подходами.
поясните мне тогда, пожалуйста, в чем различие?
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #22 : 17 Апреля 2012, 22:08:43 »
Процедурное программирование vs Объектно-ориентированное программирование.
Функции по работе с памятью, строками уже различается, различаются подходы по обработке ошибок и исключительных ситуаций, различные подходы по менеджменту памяти (RAII) и тд. Если бы тут речь шла, например, о C# и Java, то да - эти 2 платформы действительно похожи, в большей степени из-за того, что в течении своего развития они многое ,мягко говоря, перенимали друг у друга.

P.S. То, что С++ компилятор позволяет скомпилировать С код, и то, что С++ изначально был как С с классами, не делает эти языки идентичными на данный момент времени.
« Последнее редактирование: 17 Апреля 2012, 22:10:38 от Not eXist »

Оффлайн Nikki1993

  • Автор темы
  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #23 : 17 Апреля 2012, 23:39:11 »
Тогда еще вопросик, вот полазав по этому сайту
http://developer.ubuntu.com/get-started/
Увидел что Ubuntu рекомендует Питон для изучения. Каково ваше мнение на этот счет? "хороший" ли язык программирования для написание больших проектов?
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Язык С, с чего начнём?
« Ответ #24 : 17 Апреля 2012, 23:57:01 »
Больших - нет.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Nikki1993

  • Автор темы
  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3261
  • Owner of Dell XPS 13 Developer Edition :D
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #25 : 18 Апреля 2012, 00:19:53 »
Процедурное программирование vs Объектно-ориентированное программирование.
Функции по работе с памятью, строками уже различается, различаются подходы по обработке ошибок и исключительных ситуаций, различные подходы по менеджменту памяти (RAII) и тд. Если бы тут речь шла, например, о C# и Java, то да - эти 2 платформы действительно похожи, в большей степени из-за того, что в течении своего развития они многое ,мягко говоря, перенимали друг у друга.

P.S. То, что С++ компилятор позволяет скомпилировать С код, и то, что С++ изначально был как С с классами, не делает эти языки идентичными на данный момент времени.
Хорошо исходя из этого, за что стоит браться С или же С++ ? (с точки зрения легкости освоения и понимания)
First i was like :0 Then i was like :D But now i am like(╯°□°)╯︵ ┻━┻
http://www.abload.de/img/banner_505uxa.png

Оффлайн jershell

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #26 : 18 Апреля 2012, 04:32:14 »
Хорошо исходя из этого, за что стоит браться С или же С++ ? (с точки зрения легкости освоения и понимания)
c++. Учить именно его.
По поводу ООП, тут так говорят, как будто на с++ нельзя писать структурно.

Оффлайн Black-Kot

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #27 : 18 Апреля 2012, 11:10:12 »
Если изучаете java, то лучше, и понятнее, для вас будет С++.

Сам лично начинал с java(года полтора назад), и достаточно легко перешел на с++ но на данный момент с++ не очень хорош знаю. Но понимаю достаточно хорошо за счет того что я знаю java.

Разница между С++ и java по началу минимальна(что подходит для начального обучения/перехода), но если вникать и продолжать изучать С++ то сами станете замечать разницу, но зная основы это не будет так уж и тяжело для вас.

P.S. насчет того что java медленная и не поворотливая я сам знаю, но чтобы начать что то писать вполне подойдет. ИМХО.
« Последнее редактирование: 18 Апреля 2012, 11:12:34 от Black-Kot »

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #28 : 18 Апреля 2012, 14:23:28 »
Начните с Кернигина и Ричи - язык С.
По моему мнению - это будет не плохое решение.
Однако свои лучшие проги я напиАл на c#.

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Язык С, с чего начнём?
« Ответ #29 : 18 Апреля 2012, 14:39:00 »
Так, я запутался в ГУИ  :) в чем различие между GTK+ и QT ? писать программы я собираюсь под Ubuntu Unity.
Ну и как итог советуюте изучать С++ вместо С?

Всё наглядно и на картинках :
Создание графических приложений
http://rus-linux.net/forum/viewtopic.php?f=3&t=1495
http://rus-linux.net/MyLDP/BOOKS/Linux-tools/IDE_01.html


Пользователь решил продолжить мысль 18 Апреля 2012, 14:42:37:
Цитировать
Если изучите С++, то автоматически будете знать С, так как С++ это усложнённая версия С.
Ну бред же, не? Два разных языка, каждый со своими подходами.
поясните мне тогда, пожалуйста, в чем различие?

Различие в том, что на классическом С можно написать языковые конструкции, которые в С++ не пройдут синтаксический контроль, т.е. "неправильные" для этого языка конструкции (см. Б.Страуструпа книги, там пимеры).
А это значит, что С никак не может рассматриваться как составная часть С++.


Пользователь решил продолжить мысль 18 Апреля 2012, 14:48:43:
P.S. То, что С++ компилятор позволяет скомпилировать С код, и то, что С++ изначально был как С с классами, не делает эти языки идентичными на данный момент времени.

Это не совсем точно... :
- если речь о gcc ("С++ компилятор"), то он умеет ещё компилировать и Ada, Java, ... но это же не значит, что они совпадают с C?
- при компиляции C и C++ gcc запускается с настолько разными опциями, что это фактически 2 разных компилятора...
- но самое главное - это разные динамические библиотеки, подключаемые к программам С / С++ (кстати, программы С++ требуют подгрузки 2-х библиотек: и своей С++ и stdlib библиотеки С, потому как только stdlib может осуществлять syscall к ядру системы Linux).
   
« Последнее редактирование: 18 Апреля 2012, 14:48:43 от Olej »

 

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