• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

Вопросы:

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

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

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

2) По языку С:

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

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

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

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

Заранее спасибо!
 
L

lazybiz

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

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

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

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

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

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

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

Как вы посоветуете увеличивать свои навыки после освоения стандартных правил языка? Писать свои программы/копаться в чужих кодах или лучше купить какие-нить задачники и выполнять их?
Писать программы, копаться в чужих кодах и еще можно читать научную литературу. А задачники я думаю это фигня.
 
G

Guest

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


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




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


А именно на С?
 
R

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++ есть визарды, которые сделают тебе каркас приложения, а больше ничего и не надо.

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

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

читать книги, самопросвящаться.
1000351742.jpg
1001758062.jpg



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-программу.

Оно те надо? ©

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

Guest

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

DarkKnight

А вот Java - или C# - это хорошо. сейчас любая задача прикладного уровня решается с помощью этих языков проще и быстрее (и как правило - дешевле). Вот сделают аппаратную поддержку декодирования ихнего байт-кода - и тогда настанет c++-капец ((:)
Очень не уверен в последней вашей фразе....
Лично мое мнение - все эти "ПСЕВДО" языки "с их чудо 'псевдо' технологиями по сборки мусора" - сами в большинсвте своем являются сами мусором по-сути... Человек должен понимать, что и как он делает с памятью, что чистит, а что нет, где выделяет и где резервирует....
И их "псевдо-мулитиплатформенность" - понятие только на словах....

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

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

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

ierofant

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

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

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

Guest

(Visual C++ 6.0)
Выпущен в 98 году, за три месяца до принятия стандарта c++ '98
сейчас представляет только археологический интерес
Я только Visual C++ 6.0 и пользуюсь, с ним никаких проблем нет, регистрация не нужна, да и скачивать не так много нужно. Предпочитаю именно VC++ 6.x (имхо).
 
G

Guest

А вообще, задаю подобный вопрос: существует такая среда разработки, которая позволяет писать приложения на C++ и Java?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!