(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: пока