Несколько общих вопросов

Тема в разделе "C и С++ FAQ", создана пользователем -, 20 дек 2010.

Статус темы:
Закрыта.
  1. Гость

    Приветствую всех, моё первое сообщение, но ещё вопросы появятся : )

    Вопросы:

    1) По средам программирования:

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

    б) Мне понравился Borland Builder 3.1, ибо можно нажать одну клавишу и увидить программу, но я обнаружил, что прога не поддерживает формат С99 (ещё бы). Попробовал Visual 6.0, но как-то всё плохо работает. Более-менее понравился Watcom, но там тоже, чтобы увидить свою программу надо выполнить несколько действий, а у меня как новичка много ошибок и постоянно приходится проверять эффективность программы. Может ещё что посоветуете?

    2) По языку С:

    а) Как я понял это один из самых быстрых языков + не занимает много памяти при работе программы. Это обоснованно тем что мы конкретно работаем с памятью? (я про int, float, double). Должен ли я всегда стараться по минимуму использовать память? (например если только два значения у переменной использовать bool вместо int). Ведь щас такие мощные компьютеры.. насколько это обоснованно?

    б) Насколько реально написать на С ( не С++ ) графическое приложение - например небольшую игру. Возможно ли написать приложение, к примеру, работающее с сетью под виндоус (какую-нить скачивалку или фтп менеджер (тоесть с окошками, кнопачками и прочим)).

    в) Насколько целесообразно учить С, не учя С++ ? (вместо C++ учить Java)

    г) Как вы посоветуете увеличивать свои навыки после освоения стандартных правил языка? Писать свои программы/копаться в чужих кодах или лучше купить какие-нить задачники и выполнять их?

    Заранее спасибо!
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Думаю что лучше для каждого конкретного свой.

    Отличный компилятор c хорошей оптимизацией (лично я пользуюсь только им). А IDE неплохая у Visual C++.

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

    Не понял вопроса.

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

    Реальней чем на каком-либо другом языке. На С/С++ можно написать любую программу.

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

    Писать программы, копаться в чужих кодах и еще можно читать научную литературу. А задачники я думаю это фигня.
     
  3. Гость

    Спасибо за скорый ответ!



    А именно на С?
     
  4. Rififi

    Rififi Гость

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

    не стоит.
    я честно говоря и не помню, кроме Eclipse, где такое есть. Да и там, даже с плагином CDT удобство пользования ненамного превосходит Notepad.
    Для С++ под винду выбирай Visual Studio 2010 + Visual Assis X

    А вот Java - или C# - это хорошо. сейчас любая задача прикладного уровня решается с помощью этих языков проще и быстрее (и как правило - дешевле). Вот сделают аппаратную поддержку декодирования ихнего байт-кода - и тогда настанет c++-капец ((:)

    для первой есть чУдная IDE Eclips, прямо во время набора программы она незаметно компилируется, тут же анализируются все ошибки, все подсвечивается и предупреждается. IDE практически не оставляет тебе шанса на ошибку. Плюс кроссплатформенность.
    для C# есть Visual Studio + ReSharper. все вместе это не так навороченно как в Eclipse, но в целом недурно.

    я рекомендую вариант изучать C++ и попутно - Java/C# - в этом случае у тебя постоянно будут случаться радостные сюрпризы в виде "Ой, а они оказывается настоящий объектно-ориентированные языки, в отличие от. Ой, а здесь что, сборщик мусора есть? Ой, и потоки встроенные? (synchronized). Ой, и сериализация/базы данных/web/распределённые приложения/бизнес-логика "из коробки"? ну ващще крутизна Ж)))"

    если изучать наоборот, то сюрпризы будут неприятные, типа "Мляяя, а тут чё, нормальных строк нет что ли? MFC::CString, ATL::CString, WTL::CString, _bstr_t, std::string, std::wstring, QString, UNICODE_STRING... И что мне прикажете с этим зоопарком делать???"

    б) Мне понравился Borland Builder 3.1
    брось каку.

    , ибо можно нажать одну клавишу и увидить программу, но я обнаружил, что прога не поддерживает формат С99 (ещё бы).

    Из распространённых компиляторов этот диалект поддерживается только в gcc. Microsoft и Borland просто забили на него, и правильно, зачем, если есть C++0x?

    Попробовал Visual 6.0, но как-то всё плохо работает.

    Выпущен в 98 году, за три месяца до принятия стандарта c++ '98
    сейчас представляет только археологический интерес

    Более-менее понравился Watcom, но там тоже, чтобы увидить свою программу надо выполнить несколько действий, а у меня как новичка

    А ты что хотел, уподобиться армии мышкошлеперов из (de)Builder/Delphi?
    В Visual C++ есть визарды, которые сделают тебе каркас приложения, а больше ничего и не надо.

    "Нажми на кнопку, получишь результат, и твоя мечта осуществится-а-а..." © ((((((((((Ж

    много ошибок и постоянно приходится проверять эффективность программы. Может ещё что посоветуете?

    читать книги, самопросвящаться.
    [​IMG][​IMG]


    2) По языку С:

    а) Как я понял это один из самых быстрых языков + не занимает много памяти при работе программы.


    затормозить можно любую программу.
    а вообще скорость сгенерированного кода зависит от качества оптимизиции.

    Это обоснованно тем что мы конкретно работаем с памятью? (я про int, float, double).

    Ага. Мы как ЧистА аКнКрЕтНыЕ паТСаны конкретно работаем с памятью ;)

    Должен ли я всегда стараться по минимуму использовать память? (например если только два значения у переменной использовать bool вместо int). Ведь щас такие мощные компьютеры.. насколько это обоснованно?

    Не должен. Преждевременная оптимизация - зло. Не считай себя умнее специализированных инструментов - профайлеров, задача которых - искать наиболее тормозящием места в программе.
    тем более что стоимость покупки более мощного железа может быть запросто меньше тех денег которые придется заплатить программисту(ам) за опмитизацию.
    а бабки решают всё:)

    б) Насколько реально написать на С ( не С++ ) графическое приложение - например небольшую игру. Возможно ли написать приложение, к примеру, работающее с сетью под виндоус (какую-нить скачивалку или фтп менеджер (тоесть с окошками, кнопачками и прочим)).

    очень даже реально. причём настолько что все топ-движки написаны на C++. загляни hex-редактором в любой хит - последние NFS, Crysis, DAO, Fallout:New Vegas - Microsoft Visual C++ Runtime Library

    правда имеется такая тенденция перекладывать часть логики на внешние скрипты (lua)

    в) Насколько целесообразно учить С, не учя С++ ? (вместо C++ учить Java)

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

    Слышал такое выражение: на любом языке можно написать Fortran-программу.

    Оно те надо? ©

    г) Как вы посоветуете увеличивать свои навыки после освоения стандартных правил языка? Писать свои программы/копаться в чужих кодах или лучше купить какие-нить задачники и выполнять их?
    Ставь себе цели и достигай их.
     
  5. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    Имхо, NetBeans для всех языков.
     
  6. Гость

    Большое спасибо за ответы!! До этого много читал и теперь всё стало ясно.. Вопросом общего характера пока нету : )
     
  7. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Очень не уверен в последней вашей фразе....
    Лично мое мнение - все эти "ПСЕВДО" языки "с их чудо 'псевдо' технологиями по сборки мусора" - сами в большинсвте своем являются сами мусором по-сути... Человек должен понимать, что и как он делает с памятью, что чистит, а что нет, где выделяет и где резервирует....
    И их "псевдо-мулитиплатформенность" - понятие только на словах....

    Во всех остальных фрагметах вашего сообщения... Лично я (Мое ИМХО) могу вставить это же сообщение, слегка видоизмененное....

    И скорость работы и гибкость - может быть достигнуть только через прямой доступ к памяти....

    Добавлено:
    Если мир не стоит на месте (расчет такт. частота процессора, увеличивается кэш, оперативка и т.д.), это не значит что нужно это все засорять чем что (что бы что то потом вычистило мусор), и использование низкоуровневого кода + оптимизированного, остается самой главной задачей...
    Память - это не экология, ее засорять нельзя....
     
  8. ierofant

    ierofant Гость

    Вообще-то C99 это текущий стандарт языка C. А C++0x, относительно недавно, вышедший стандарт языка C++. Это стандарты двух разных языков и один не является обновлением другого. Следующий стандарт языка С будет называться С1x сейчас идёт работа над ним, работа над следующим стандартом C++ пока только планируется.

    А почему Borland Builder 3.1 не поддерживает с99, так потому что это ветошь вышла ещё в 1992. А стандарт С99, как повествует из названия в 1999.
     
  9. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Считай что я отвечал только про С. В С (не С++) так же реально сделать все что угодно, а так же любое графическое приложение.
     
  10. Гость

    Я только Visual C++ 6.0 и пользуюсь, с ним никаких проблем нет, регистрация не нужна, да и скачивать не так много нужно. Предпочитаю именно VC++ 6.x (имхо).
     
  11. Гость

    А вообще, задаю подобный вопрос: существует такая среда разработки, которая позволяет писать приложения на C++ и Java?
     
Загрузка...
Похожие Темы - Несколько общих вопросов
  1. lionk
    Ответов:
    8
    Просмотров:
    154
  2. mrktwn1
    Ответов:
    0
    Просмотров:
    70
  3. M1shop
    Ответов:
    0
    Просмотров:
    370
  4. lionk
    Ответов:
    1
    Просмотров:
    593
  5. JohnLemon
    Ответов:
    6
    Просмотров:
    1.177
Статус темы:
Закрыта.

Поделиться этой страницей