All pastes #982737 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-04-12 20:37 UTC
rendered paste body
(00:01:57) Alex007: завтра пойду за учебниками.
(00:01:58) Balthazar: а чего так?
(00:02:03) Balthazar: учебники не нужны
(00:02:09) Balthazar: инет рулед
(00:02:12) Alex007: ибо паскаль жутко тормозил... по крайней мере, сгенеренный фрипаскалем. Нужны.
(00:02:15) Alex007: Фтопку.
(00:02:25) Alex007: хочу толковую книжку с алгоритмами и картинками.
(00:02:35) Alex007: нормальное желание блондинки)
(00:02:38) Balthazar: Большинство учебников не стоят того, чтобы их покупать...
(00:02:51) Alex007: я умею подбирать книги.
(00:02:59) Alex007: Кстати, надо будет тебе как-то переслать задачки с олимпиады
(00:03:07) Balthazar: А алгоритмы-они везде алгоритмы.. Только синтаксис разный, и подход
(00:03:14) Alex007: вот-вот.
(00:03:26) Balthazar: В общем, ни в коем случае не юзай индексную работу с массивами в С.
(00:03:42) Balthazar: Она раза в 4-5 тормознее адресной арифметики... 
(00:03:44) Alex007: не еби мозги, мм?
(00:03:50) Alex007: я еще не начал учить С.
(00:04:02) Balthazar: Индексный доступ к массивам-это то, что ты юзал в паскале
(00:04:12) Alex007: a[i]?
(00:04:16) Balthazar: ага
(00:04:28) Alex007: бля, а как тогда иначе?))
(00:04:34) Balthazar: в С он тоже работает, но лишь для совместимости
(00:05:22) Balthazar: дело в том, что массивы С располагаются в непрерывной области памяти, и можно получить доступ к следующему элементу, зная адрес и размер предыдущего.
(00:06:34) Balthazar: то есть, начало массива является одновременно указателем на первый его элемент, и от этого лучше плясать.
(00:06:50) Alex007: м-да.
(00:07:05) Balthazar: не начало, а имя, т.е.
(00:07:26) Balthazar: ща допишу новости, и покажу простенький пример.
(00:07:56) Alex007: скажи сразу, что качать - учебник по С или С++?
(00:08:05) Alex007: и компилятор подскажи плиз... А то GNU меня как-то не прельщает.
(00:08:14) Alex007: А Делфи большой слишком
(00:08:40) Balthazar: Если ты не знаешь С, то С++ лучше не трогать.

Почему не прельщает? Самый близкий к стандарту компилер, по факту.
(00:10:01) Balthazar: Не изобретает никаких своих операторов, и не исправляет ошибок за программера, что мне в MS VC не нравится.. MS VC-компилятор для даунов, которые не могут даже нормально работать с массивами..
(00:10:42) Alex007: Ты неисправимый фанат Опен-Саурса и неисправимый ненавистник МС.
(00:10:57) Alex007: Мне лично Оффис 2007 и Вижуал Студио 2008 очень даже нравятся... Только выкачать ни то, ни то нереально
(00:11:15) Alex007: А ФриПаскаль и ГНУ, может, хороши, но глючны, не очень удобны и редко обновляются.
(00:11:31) Balthazar: int a[8];
int i;

for(i=0;i<10;i++){
  a[i]=i;
}

ты хочешь сказать, что когда компилятор проглатывает такой код, это нормально? Тогда ты прав.
(00:12:16) Alex007: я еще раз повторю, я не знаю С. Поэтому оценить код не могу.

Но судя по всему, если я не туплю, то a[9] уже не существует и прога работать не будет
(00:12:21) Alex007: ФриПаскаль такое тоже проглотит
(00:12:31) Alex007: а при выполнении напишет array out of range
(00:12:33) Balthazar: Да, но оно запускается, и работает...
(00:12:45) Alex007: во фрипаскале тоже будет работпать
(00:12:50) Alex007: *пока не дойдет до а[9]
(00:12:54) Alex007: готов поспорить, что в МС ВС тоже
(00:12:58) Balthazar: оно работает до конца.
(00:13:12) Alex007: ну да?
(00:13:13) Balthazar: сейчас уже как, не знаю, но в 2006 работает.
(00:13:28) Alex007: В 2008 такое не тестил, но в похожей ситуации была ошибка
(00:13:33) Balthazar: и ошибок не выдает... => оно просто переопределило массив по-своему.
(00:14:53) Balthazar: Можешь называть меня фанатом хоть 100 раз, но если компилятор не соответствует стандарту, то другого я про него не скажу. Почему ИЕ нельзя соответствовать стандарту, а компилятору можно?
(00:15:08) Alex007: )
(00:15:49) Alex007: в общем, я отступаю из-за недостатка опыта...
(00:16:06) Alex007: а пока что скажу, что если ничего лучше вот этого говна - http://lib.ru/MAN/DEMOS210/c.txt - не попадется, пойду покупать книгу, ибо пиздец
(00:17:13) Balthazar: З.Ы. если не gcc, то хотя бы борланд.

З.Ы. ищи Кернигана Ритчи и тому подобное.. Еще можешь поискать произведени Герберта шилдта
(00:17:21) Balthazar: Ш
(00:17:33) Alex007: Борланд С++ Билдер видел, вроде неплохой
(00:17:37) Alex007: Thunder (22:14:52 12/04/2008)
Эммм... Между Си и Си++ разницы нет абсолютно.
(00:17:39) Alex007: Верить, не?))
(00:17:55) Alex007: чет мне кажется, что нет
(00:17:57) Balthazar: Скажи ему, что он полный дурак и его удел-всю жизнь кодить на яве.
(00:18:45) Balthazar: Компилятор с++ проглотит прогу на С, но С++ от этого С не становится.
(00:18:46) Alex007: кстати, а объясни плиз разницу.
(00:20:44) Balthazar: Короче, изначально С++ был надстройкой над С, препроцессором.

Язык С стандарта 89 года входит в С++, как подмножество, но прогу на С99 скорее всего компилятор С++ ниасилит.
(00:21:05) Alex007: Тааак... а почему тогда лучше сначала учить С, потом С++?
(00:23:55) Balthazar: Потому что родственные языки, хоть и разные. Объектно-ориентированное программирование в С++-это довольно большой гемор, надо сначала разобраться с обычными функциями, переменными, адресами,Ю указателями и т.п.

С++ отличается от С в первую очередь наличием объектов, темплейтов, пространств имен и более широкой библиотекой встроенных функций и классов.
(00:24:04) Alex007: http://www.xakep.ru/post/25201/
по совету того же чела остановился на этом.
(00:24:25) Balthazar: Мда...
(00:24:37) Balthazar: %)
(00:26:07) Balthazar: Лучше тогда купи "Полный справочник по С++" Герберта Шилдта, там отличия между С и С++ объяснены хорошо, да и первая половина книги посвящена С.

З.Ы. еще в С++ есть указатели на функции
(00:28:21) Balthazar: Кстати, на заметку... Не путай опенсорс и свободный софт, умный чел вроде.. не уподобляйся даунито ;-)
(00:28:49) Alex007: А разве ГНУ не опенсаурс?
(00:31:22) Balthazar: Опсенсорс и ГНУ & BSD отличаются тем, что большинство опенсорсных лицензий не разрешают делать с кодом ничего, кроме как распечатать на туалетной бумаге, и подтираться..
(00:31:25) Alex007: епт, что-то ты слишком долго пишешь.
(00:32:17) Balthazar: однако, OSI считает, что ГНУ и БСД-это опенсорс, в то время как БСДуны и ГНушнеги называют опенсорснегов пидарасами.
(00:32:34) Balthazar: Ну, это я утрирую )
(00:33:04) Alex007: м-да..
(00:34:03) Balthazar: Венда это тоже, кстати, вроде как типа формально опенсорс. Ибо есть лицензия SSI, по которой можно теоретически получить код.
(00:34:21) Alex007: Ну да, теоретически..
(00:35:01) Balthazar: Типа, для научной деятельности )
(00:35:27) Alex007: как вариант
(00:36:42) Balthazar: Хотя, я не представляю, что может заинтересовать в коде венды.. Ибо судя по имеющимся у меня фрагментам, и тому что notepad.c весит 200 c чем-то килобайт, там особо нечего смотреть..
(00:36:49) Alex007: http://gcc.gnu.org/gcc-4.3/buildstat.html
мне кажется, или для винды тут нет?
(00:37:14) Balthazar: ща дам сцылко на вендовую версию.

вендовый порт-это отдельный проект
(00:37:29) Alex007: ппц
(00:37:38) Alex007: ставить компилятор и костыль..
(00:37:46) Alex007: потом надеяться, что это будет работать...
(00:38:01) Balthazar: Еще есть IDE Codeblocks, в которую можно его интегрировать.

Странно ты рассуждаешь, почему надеяться?
(00:38:09) Alex007: Borland C++ весит 17 М...
(00:38:27) Alex007: скачаю-ка я его...

Надеяться потому, что костыли ни к чему хорошему не приводили и не приведут.
(00:38:39) Alex007: Мне сам компилятор не очень нравится, а если его еще и костылить..
(00:38:45) Alex007: хотя, мб, я и туплю...
(00:38:49) Balthazar: о чем ты говоришь-то?
(00:38:55) Balthazar: Какие костыли?
(00:39:27) Alex007: Ну, хорошо. Как назвать то, что программу переделывают под другую ОСь, если изначально он разрабатывался под одну?
(00:39:42) Balthazar: Кросс-компилятор.
(00:40:10) Alex007: Тогда выразись конкретно. GNU C++ для венды - отдельный проект или мод для оригинального компилятора?
(00:41:10) Balthazar: например, PocketPC проги компилят так, и что с того?

Оригинальный компилятор не предназначен ни для чего. Он кросс-платформенный.
(00:41:54) Alex007: Оригинальный компилятор предназначен для среды, в которой он будет работать. Другое дело, что у него могут быть разные цели компилирония, но ведь это совсем другое. Или не так?
(00:42:40) Balthazar: Оригинальный компилятор предназначен для POSIX. В винде тоже есть подсистема POSIX. Что непонятно-то?
(00:43:04) Alex007: Мы вообще говорили о костылях.
(00:44:30) Balthazar: Компилер http://mingw.org/download.shtml
IDE: http://www.codeblocks.org/downloads

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

Оригинальный gcc пишется сообществом как вендовых, так и UNIX-разработчиков. => костылей там нет... Не будешь же ты называть Форскриптсовские сборки костылями?
(00:44:51) Alex007: Буду, ибо реально костыли.
(00:44:59) Balthazar: Мда... ну и называй.
(00:45:04) Alex007: Достаточно удобные, но глючные костыли для русскоязычных юзеров.
(00:45:07) Alex007: А что, скажешь, нет?
(00:45:42) Balthazar: Ну хорошо... Вобла F.E., что в ней костыльного?

И вообще, как можно рассуждать о костыльности чего-либо, никогда это не ставив?
(00:46:06) Alex007: Хорошо, тогда я расскажу, что я понимаю под костылем.
(00:46:37) Alex007: Итак, костыль - это любое изменение в оригинальной программе с любой целью - она не имеет значение, то есть правка исходного оригинального кода.
(00:47:09) Balthazar: Мда... 
(00:47:19) Alex007: Обычно костыль успешно выполняет свою главную цель, но при этом может нечаянно создать десятки и сотни других неработок, поскольку может не знать всех ньюансов разработчика, написавшего программу именно таким образом.
(00:47:44) Alex007: Разумеется, правка явных багов, из-за которых прога, например, не компилится - это не костыль.
(00:48:04) Balthazar: Хорошо, Mingw32 есть в вариациях под Linux и BSD, может собирать виндовые экзешнеги прямо там. Что скажешь?
(00:48:50) Alex007: Ну, в ФриПаскале тоже можно собирать в венде Линукс-экзешники, и что с того? Это конкретный код оригинальной программы.
(00:49:00) Alex007: Хотя, мб я тебя неверно понял.
(00:49:33) Balthazar: А также, еще хорошо бы учесть, что почему-то большинство ГНУтых прог под виндой собранно именно MinGW, хотя есть и варианты, собранные MS VC
(00:50:04) Alex007: Это говорит о многом, но не о пользе костылей.
(00:50:20) Alex007: или ты и с этим не согласен?)
(00:52:24) Balthazar: Хорошо, MSVC-это костыль, поскольку он даже не может нормально собирать SSE-код, он получается тормознее неоптимизированного процентов на 10.
(00:53:01) Alex007: Вижуал Студио - это не костыль. Может быть, это просто быдлопрограмма, написанная быдлопрограммистами, но не костыль.
(00:53:23) Balthazar: Это костыль, поскольку программисты внедрили поддержку ССЕ ;-)
(00:53:30) Balthazar: Причем, сделали это криво..
(00:53:53) Alex007: Гм, тогда возможно.
(00:54:28) Balthazar: Ворд-это тогда тоже костыль... Потому что MS для него пишет сервиспак с поддержкой ODF.
(00:54:37) Balthazar: Эксель-аналогично...
(00:55:07) Alex007: сек, отойду покушать. Но аргументы есть.
(00:55:18) Balthazar: Да и вообще, винда-это тоже костыль, потому что в ней есть подсистема POSIX, для нее не предназначенная изначально..
(00:59:14) Alex007: Поем за компом. Итак, для программ, которые решают комплексные задачи, в любом случае существуют те или иные костыли, ты это подметил правильно. Но сама программа таким образом костылем не становится. Т.е. если в ВС есть поддержка ССЕ, это значит, что та часть, которая отвечает за ССЕ, и есть костыль, а самому ВС от этого ни холодно ни жарко. Аналогично, например, в Линуксовом компиляторе - его ядро будет обычнным ядром и в Венде, но адаптированные куски кода под венду - это и есть костыль.
(00:59:52) Alex007: А вот что касается форумов, то там сложно придумать какое-то некостыльное изменение. Разве что правку изображений.
(01:00:36) Balthazar: "Та часть" - это сам компилятор, так что... Зачем нужна визуальщина без компилятора? )
(01:01:15) Alex007: это ты про что? про ВС?
(01:01:18) Balthazar: ага
(01:01:40) Balthazar: если прога зависит от костыля, то она имхо тоже костыль..
(01:02:23) Alex007: Я, конечно, довольно слабо разбираюсь в подобных вещах, но я абсолютно не уверен, что весь компилятор переписывался только из-за поддержки ССЕ. Для поддержки была написана отдельная часть кода, и являющаяся костылем, но в то же время никак не влияющая на комплиляцию обычного кода С.
(01:02:28) Balthazar: Вообще, под твое определение можно подогнать любую программу.
(01:02:52) Alex007: При желании.
(01:02:55) Balthazar: Ядро ОС-это тоже костыль, ибо проги могут обращаться непосредственно к железу..
(01:03:15) Balthazar: Драйвера-тоже костыль, по вышеозначенной причине...
(01:03:22) Alex007: Понимаешь, при желании можно делать так, чтобы 2+2 было 5.
(01:03:30) Alex007: Это не отменяет необходимости признавать, что 2+2=4.
(01:03:38) Balthazar: не-а, так ты не сделаешь )
(01:03:54) Alex007: Ну, предположим, сделаю, есть много липовых доказательств. Не в этом дело.
(01:04:10) Balthazar: вот это:
(01:02:55) Balthazar: Ядро ОС-это тоже костыль, ибо проги могут обращаться непосредственно к железу..
гораздо логичнее, чем это:
2+2 было 5.
(01:04:15) Alex007: Я хочу только показать, что на самом деле даже под самое объективное определение можно подстроить какую-то хуйню.
(01:04:27) Alex007: Блядь, я говорю совсем не к тому.
(01:04:40) Balthazar: В том-то и дело, что тут само определение несколько... хм, странноватое.
(01:04:48) Alex007: Я тебе говорю, что "на самом деле даже под самое объективное определение можно подстроить какую-то хуйню.", т.е. ты сейчас просто придираешься к моему определению.
(01:04:54) Balthazar: Костыль-это не то, о чем ты говоришь...
(01:04:56) Alex007: Хорошо, предложи свое,
(01:05:01) Alex007: Валяй.
(01:05:31) Balthazar: Костыль-это когда человек замечает ошибку компиляции, и вместо того, чтобы ее исправить, просто комментирует код... Это простой пример.
(01:05:48) Alex007: ахуеть-ни-встать
(01:05:57) Alex007: А если конкретизировать определение?
(01:06:00) Alex007: Конкретный пример - хорошо, но мало.
(01:06:20) Balthazar: Или же вместо исправления чужой ошибки пишет код полностью заново.
(01:06:28) Balthazar: Ща, минут через пять
(01:06:38) Alex007: ага
(01:16:41) Balthazar: З.Ы. все браузеры-костыль, интернет изначально предназначен для передачи файлов. )
(01:16:59) Alex007: Весь мир - костыль
(01:17:01) Alex007: люди - костыль
(01:17:05) Balthazar: не..
(01:17:07) Alex007: ты - костыль)
(01:17:14) Balthazar: ибо не попадают под определение
(01:17:14) Alex007: а че?
(01:17:19) Alex007: ну почему же.
(01:17:27) Balthazar: хорошо, подгони..
(01:17:29) Balthazar: интересно )
(01:17:39) Alex007: Бог создал Адама и Еву
(01:17:39) Alex007: остальные - их костыли
(01:17:39) Alex007: фигли нет?
(01:17:45) Alex007: Итак...
(01:18:01) Balthazar: не-а, он их специально разнополыми создал )
(01:18:39) Balthazar: телефон костыль, ибо есть телеграф.
(01:19:00) Alex007: Бог создал Адама и Еву по своему образу и подобию, создав их определенную генетическую структуру, т.е. структуру мужчины и женщины. Однако, позднее появились люди с другой генетической структурой, т.е. произошли изенения в генетическом коде = костыль.
(01:19:08) Alex007: Нифига, телеграф костыль, ибо есть телефон))
(01:19:52) Balthazar: не-а, ибо нуклеотиды изменениям не подвергаются, и не должны. вот мутации-это костыль.
(01:19:57) Alex007: кстати, товарищ словоблуд, ты мне кинешь ссылку на какой-нибудь вендузятский компилятор С++ весом менее 30М?))
(01:20:02) Balthazar: Телеграф появился на лет 80 раньше
(01:20:34) Alex007: бля, я походу проигрываю тебе в знании биологии, что, правда, неудивительно...

Телеграф - костыль, есть почтовые голуби
(01:21:25) Balthazar: ну... голуби и почта костыль, ибо можно орать в рупор
(01:21:35) Alex007: данунах
(01:21:40) Alex007: неэффективно
(01:21:43) Balthazar: :-D
(01:21:47) Balthazar: зато надежно )
(01:21:58) Alex007: можно орать в рупор
----
можно срать в рупор
(01:22:03) Balthazar: мда...
(01:22:03) Alex007: и попробуй докажи, что это менее рационально)
(01:22:26) Balthazar: рупор предназначен, чтобы орать )

чтобы срать, есть другой костыль-сортир
(01:22:38) Balthazar: и вообще, рупор костыль, есть ладони
(01:22:39) Alex007: а почему бы не поменять местами?
(01:22:50) Alex007: От перемены костылей эффект не меняется
(01:22:50) Alex007: кстати да
(01:23:22) Balthazar: ну хорошо... есть сортир-костыль, и тарелка-костыль.. ты согласен поменять их местами? )
(01:23:52) Alex007: м-м-м...
(01:23:59) Alex007: надо попробовать
(01:24:03) Balthazar: мда...
(01:24:05) Alex007: а вообще я шутю.
(01:24:35) Balthazar: З.Ы. компиляторы-костыль, можно переводить проги в ассемблер вручную, или писать сразу на нем
(01:24:56) Alex007: программы - костыль
(01:25:01) Alex007: все можно реализовывать в оси
(01:25:09) Alex007: *ROFL*
(01:25:22) Balthazar: ОСь - костыль, все можно реализовать аппаратно
(01:25:28) Balthazar: как в тетрисе )
(01:25:45) Alex007: ага
(01:25:45) Alex007: взаимокостыльство прямо
(01:25:47) Alex007: )
(01:26:17) Balthazar: компы-костыль, ибо есть печетная машинка и счеты
(01:26:21) Balthazar: а
(01:26:48) Alex007: компы - костыль, ибо в интернете можно лазить эфемерно :-D
(01:26:52) Balthazar: :-D
(01:26:56) Alex007: счеты - костыль, можно считать в уме
(01:27:04) Alex007: набирать тексты тоже, фтопку печатную машинку
(01:27:07) Balthazar: Интернет - костыль, ибо можно дунуть травки
(01:27:26) Alex007: травка - костыль, ибо есть травка круче ;-)
(01:27:35) Balthazar: :-D
(01:28:08) Balthazar: Эдблок костыль, ибо есть дубинка, которой можно долбануть по башке разместившему баннер
(01:28:30) Alex007: а с баннером-то как?
(01:28:47) Balthazar: он сам пропадет потом )
(01:28:58) Balthazar: когда рекламодатели закончатся )
(01:29:00) Alex007: так хули потом, нужен немедленный резалт)
(01:29:21) Alex007: ладно, костыль для Адама, я пошел спать) ибо нех тут.
(01:29:28) Balthazar: пока