Написание этого "опуса" побуждает мой опыт и программиста и преподавателя. Здесь уже много говорилось о "знаниях" студентов. Я, в данном случае, не хочу говорить о самих студентов это особый разговор для другой темы. Меня
волнует, как преподается программирование. Я не хочу сказать, что преподаватели плохие. Преподаватели разные, как и в любом институте и это хорошо. Мне не нравится, прежде всего, чему учат, т.е. попросту говоря учебные планы. Конечно, программирование в массовом порядке преподают не так давно и стандарты и учебные планы и, я бы сказал еще традиции преподавания, не устоялись. Проблема в Паскале. На мой взгляд, преподавание Турбо Паскаля губит многих студентов на корню. Я попытаюсь объяснить, в чем здесь проблема. На мой взгляд, в технологии программирования, чем и следует овладеть студенту, присутствуют следующие компоненты: алгоритм, язык программирования, среда программирования, технология разработки ПО, среда выполнения (обычно ОС). Так вот, по моему глубокому убеждению, на какие бы курсы не было разбито преподавание программирования, любой курс должен преподаваться как курс программирования. Другими словами, среда программирования, например Windows не может изучаться иначе как через само программирование. Кроме этого, в каждом курсе программирования должны присутствовать все компоненты программирования. Если бы это удалось сделать, то, мне кажется, мы бы сдвинули обучение программированию с нулевой (или отрицательной) точки. Что же происходит с Турбо Паскалем. Он изучается очень подробно, два семестра. Теперь вдумайтесь в следующее: нигде и никто уже давно не пишет прикладные программы на Турбо Паскале 7.0. Почему? А потому-то этот продукт был предназначен для программирования в операционной системе MS DOS. Но этой системы уже нет в природе - Windows только эмулирует ее, чтобы дать возможность запускать программы 15-летней давности. И вот бедные студенты два семестра программируют на ТурбоПаскале, совсем не понимая, что они программируют в MS DOS и не зная какое это отношение имеет к Windows. Более того, они изучают даже те темы, которые уж никак нельзя пристегнуть к Windows - графику, файлы и т.п. И вот проучившись два семестра, не понявший, где он программировал студент, переходит к Delphi, и начинает программировать уже в Windows, до конца так и поняв, что это такое. При этом с самой ОС он опять не взаимодействует, но это уже другой разговор. Возникает вопрос - зачем нужен Турбо Паскаль? Если мы принимаем, что преподавать алгоритмы надо в отрыве от всего остального, почему не взять, например, какую-нибудь программу для дошкольников - управлять какой-нибудь лягушкой или кенгуренком. Результат будет точно тот же самый, но без введения студента в заблуждение, так как он здесь прекрасно поймет, что программирует не в Windows. Если кто-то мне скажет, что паскаль помогает затем программировать на Дельфи. Но, во-первых, Дельфи не должен быть самоцелью, а во-вторых, почему бы тогда не начать сразу на Дельфи и писать в начале разные алгоритмы в простых консольных программах. Ребята, забудьте про ТурбоПаскаль 7.0. Нет его, давно умер. Я этот вопрос уже давно ставлю на факультете, но пока переубедить коллег мне не удается. |
Петрович
у меня нет тестового файла и паскаля нет и ставить не хочу. давай ехе-шку и всё таки, давайте определимся, что мы решаем. если - с академической точки зрения, то замерять нужно отдельные этапы, не смешивая их в одну кучу (расчеты с выводом например) - с прикладной точки зрения все этапы разделяют на функции, можно раздать в команде отдельный функционал - с олимпиадной - как можно быстрее сделать всё и как меньше памяти скушать и т.п., я его называю "сисадминский" подход. я, почему-то, решил сразу в первый раз с прикладной точки зрения, единственно, что не стал функцями оформлять. дык давайте определимся, чтобы у всех одинаково было. если подходить как сисадмин, то я бы стал посимвольно(побайтово) читать поток и сразу формировать выходной массив - потребление памяти только 64 кб, как описано в условии задачи. если другими подходами, то разделить код: 1. загрузка 1а. подготовка 2. обработка 3. выгрузка в случае с паскалем пункт 1а не нужен, раз уж он умеет сразу в байты ввод неявно конвертировать. или явно, вопрос терминологии не волнует. и каждый этап замерять. в дальнейшем идет оптимизиция этапов, если получается курьез типа того, что загрузка с подготовкой занимают больше времени, чем сами расчеты. еще можно усложнить - на выходе формировать гиф-ку, как визуальное подтверждение правильности алгоритма _________________ Ин дер гросен фамилие нихт клювен клац-клац |
andy ice
Дак я просто на джаве генерилку написал по этому коду... По поводу построения. Я сначала начал кидать систему классов (ридер, врайтер, парсер, генератор), а потом увидел что вы пишите и решил не париться А вообще с прикладной точки зрения как раз на таком тестовом файлике память очень критична. Особенно хорошо жрет сплит строки в массив. Хотя на мой личный взгляд проблема тут в предложенном формате хранения данных. Строковый формат хранения бинарных данных в таких объемах это нечто |
генератор на сишарпе
Добавлено спустя 6 минут 17 секунд: Петрович писал(а): с прикладной точки зрения как раз на таком тестовом файлике память очень критичнаДобавлено спустя 3 минуты 39 секунд: размер получился: 142,812,296 байт в 1 файле _________________ Ин дер гросен фамилие нихт клювен клац-клац |
andy ice писал(а): если подходить как сисадмин, то я бы стал посимвольно(побайтово) читать поток и сразу формировать выходной массив - потребление памяти только 64 кб, как описано в условии задачи. andy ice писал(а): если другими подходами, то разделить код:
1. загрузка 1а. подготовка 2. обработка 3. выгрузка andy ice писал(а): в случае с паскалем пункт 1а не нужен, раз уж он умеет сразу в байты ввод неявно конвертировать. или явно, вопрос терминологии не волнует. andy ice писал(а): и каждый этап замерять. в дальнейшем идет оптимизиция этапов, если получается курьез типа того, что загрузка с подготовкой занимают больше времени, чем сами расчеты.
еще можно усложнить - на выходе формировать гиф-ку, как визуальное подтверждение правильности алгоритма Прежде чем что-то усложнять, надо получить достоверные результаты хотя-бы по одному пункту. На своем алгоритме получил результаты по второму пункту. Жду аналогичный таймер на этот-же пункт в программу на C#. |
xdsl
у нас РАЗНЫЕ данные. в паскалевском уже числа, в шарпнутом строки, естественно Parse убьет всю производительность. ps: я не ставил себе задачу вымутить быстродействующий алгоритм, тупо в лоб решил задачу, чтобы хоть какие-то исходники получить уже. pps: оптимизацией/переделыванием/таймерами некогда пока заниматься. где еще есть знающие про таймеры в шарпе? напишите уже, я не в курсе, не надо было Добавлено спустя 12 минут 36 секунд: xdsl писал(а): Ни один байт входного потока не может быть сформирован, пока не считано как минимум три входных строки и одно значение. не понятно. если использывать перенаправления, т.е. мы не можем два раза прочитать данные, то поможет динамический массив (что вообще само по себе тормозная операция) если использывать файлы, то ничего не мешает посчитать предварительно количество разделителей, задать выходной массив и сразу формировать его, считывая последовательно данные. два варианта одномоментной работы. дополнительным циклом вывод делаем. при желании вывод можно вообще затолкать в первый цикл, но появится дополнительный тормоз в виде условия, что "идёт ли во входящих 4-ая строка". _________________ Ин дер гросен фамилие нихт клювен клац-клац |
andy ice писал(а): xdsl
у нас РАЗНЫЕ данные. в паскалевском уже числа, в шарпнутом строки, естественно Parse убьет всю производительность. Если в C# аналога scanf нет (???), то конвертируйте данные до начала рассчетов, считывая, например, посимвольно. Массив целочисленных значений на С# можно создать, надеюсь? Тогда потеря производительности на собственно рассчёте никак не скажется, а массивы c1, c2, c3 и c4 будут изначально целочисленными. andy ice писал(а): xdsl писал(а):
Ни один байт входного потока не может быть сформирован, пока не считано как минимум три входных строки и одно значение. не понятно. Для формирования первого выходного байта в этой задаче должны быть получены первые байты всех четырех строк. Т.к. длина строк заранее неизвестна, то добраться до первого байта четвертой строки можно только прочитав содержимое первых трех. К тому-же входной поток - последовательный, так что все варианты перемещения по нему взад-вперед отметаются сразу. Естественно, для данной конкретной задачи. |
Что-то я все больше в недоумении. Вы что собственно в конечном результате собрались измерять? Среднюю производительность побитовых операций в зависимости от языка программирования? Тогда зачем собственно вообще весь этот бред с файлами, видеопамятью (как оказалось в конечном результате ПОТОЧНОГО ТИПА o_O) и подобными операциями? Создаем цикл, в нем пару миллионов раз делаем логическое И и вуаля....
ps в легком а...фигении |
xdsl писал(а): Если в C# аналога scanf нет толку-то от сканфа, если идет посимвольный ввод? всё равно проверять на пробелы Петрович да я тож не понимаю, что тут пытаются измерить. предложили задачу, я решил. потом вдруг пошли всякие разные "уточнения", типа не 64 килобайта, а аж 40 мегабайт, да и данные не из файла берутся и тп. фигня короче. побитовый сдвиг да AND, тоже мне замер производительности. админская какая-то тупая задачка. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Лично я собрался измерять производительность C# и freepascal. Предложенная задачка позволяет:
1. Измерить то, что я собрался измерять 2. + Производительность файловых операций 3. + Производительность операций с большими объемами памяти. На своей задачке я уже все измерил и проверил. Все работает, нигде не тормозит, что каждый и может проверить - компилятор freepascal доступен всем. На C# до сих пор не могу ни от кого добиться решения пункта 1, пошли сплошные отговорки. Уже с отчаяния просто запустил
По прошествии пяти минут с трудом прервал процесс, который откушал 2.5 гига оперативы Вечером проверю на винде, может проблемы в mono В принципе, я уже смирился с тем, что некоторые тут начинают тупить, вилять и отговариваться, когда дело доходит до конкретики. И задачки сразу тупыми становятся и вокруг все виноваты, окромя него, гениального. andy ice писал(а): толку-то от сканфа, если идет посимвольный ввод? всё равно проверять на пробелы Трудно что-ли? Мне что, на паскале на посимвольный ввод перевести, чтобы тебе было с чего списать? Вообщем, жду вменяемого кода на C#, который позволит хотя-бы проверить суммарно пункты 1,2,3. Крайне маловероятно будет дождаться от здесь присутствующих кода с проверкой отдельных пунктов и, соответственно, (что для меня самым интересным является) - пункта 1. Все велеречивые размышления о могучести C# буду игнорить в данной теме, если они не будут сопровождаться конкретным кодом. |
xdsl писал(а): Крайне маловероятно будет дождаться от здесь присутствующих кода с проверкой отдельных пунктов и, соответственно, (что для меня самым интересным является) - пункта 1. xdsl писал(а): 1. Измерить то, что я собрался измерять крут. ты собрался - ты и измеряй. если тебе по-русски говорят, что разные программы, РАЗНЫЕ, не знаю уж что ты там измерял в текущей версии. просто подумай уже наконец-то текущий механизм исходника и паскаля РАЗНЫЕ. пипец, устроил тут олимпиаду. короче или ты даешь исходник задачи, любой, при условии что в обоих языках будут использываться ОДИНАКОВЫЕ инструкции, или иди лесом. академик а то так и будет продолжаться - чужие программы под себя адаптировать. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
xdsl
Ну раз только то что самому надо меряем, то как говорится линейку в руки... |
ВНИМАНИЕ ЗАДАЧА на литр Крушовицы!
xdsl писал(а): Лично я собрался измерять ... Производительность файловых операций Найдите в паскалевском исходнике xdsl-я файловые операции. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
andy ice, тебе дан исходник решения задачи: http://forum.shadrinsk.net/viewtopic.php?p=600516#600516
Каких ты инструкций в C# найти не можешь? Как посимвольно входной поток считать? Как пробелами разделенные значения в числа превратить? Блин, да я в жизни не поверю, что аналога scanf в C# нету! Или ты его найти не можешь?! Все, довел ты меня. После работы перепишу в паскалевской программе ввод данных на посимвольный ввод и можешь его переводить на C#. Только отговорки заранее все выдай, чего мне там еще переделать, чтобы это на С# переводилось. Спец, блин. Цитата Найдите в паскалевском исходнике xdsl-я файловые операции.Не позорься хоть. stdin, stdout Добавлено спустя 36 секунд: Литр крушовица с тебя, кстати. Добавлено спустя 14 минут 29 секунд: Твоя программа под виндой отжирает под 300 мегов оперативы. Работает 10 минут минимум, дальше я ждать устал. Если в состоянии - оптимизируй уже как хочешь, тонкости - побоку. |
xdsl писал(а): тебе дан исходник решения задачиэто ТЕБЕ дан исходник, ты его не смог перевести в лоб, "переписал" с учетом "особенностей" - всё сравнение сразу насмарку. будь последователен - сам не смог сразу дать "наработки", воспользовался чужим решением - будь любезен его перевести с использыванием таких же конструкций или аналогичным. иначе это не тест, а понты xdsl писал(а): Как посимвольно входной поток считать?xdsl писал(а): stdin, stdout xdsl писал(а): Литр крушовица с тебя, кстатиДобавлено спустя 2 минуты 7 секунд: xdsl писал(а): Если в состоянии - оптимизируй уже как хочешь, тонкости - побоку.Добавлено спустя 1 минуту 25 секунд: xdsl писал(а): под виндой отжирает под 300 мегов оперативына 64кб или 400 мегабайтах? ставим задачу грамотно, не меняем на ходу условия - получаем сразу такой исходник, который написан из потребностей задачи. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Давай-давай, отговаривайся, кто-бы сомневался. Нету кода, нету разговора. Уступи место тем, кто сможет вменяемо решить эту задачку на C#. Если таких не найдется, будем считать, что C# - поделие, непригодное для тяжелых вычислений в принципе. Выложу исходники (один - твой, потому-что других нету), бинарники, тестовые файлы и результаты тестирования для виндовса и линукса. |
в одно ухо попало, в другое выпало. алло! алло! кто здесь отговаривается?? а?? посмотри кто здесь пишет, а кто переписывает по готовому?
тяжелые вычисления - это еще более новое слово в вопросе. про тяжелые вычисления и не говорили, насколько часто встречаются в прикладных задачах тяжелые вычисления? а что это за вычисления? хотя чтож я, вон даже пример с джипегов "не проканал", так что опять бесполезно задавать вопросы. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
andy ice писал(а): это файловые операции? это ПОТОКИ , и НЕ показывает ФАЙЛОВЫЕ операции программы, а вот за этими потоками МОГУТ быть файловые операции, и занимается ими операционная система при перенаправлениях. так что не просто мимо такой "тест файловых операций", а даже рядом не валялся. Тебе кто сказал, что stdin(out) - файловый операции? Выдумщик, блин. READ - читает данные из текстового файла. ЕСЛИ ДЕСКРИПТОР НЕ ПЕРЕДАН, ТО ДЕСКРИПТОРОМ ФАЙЛА ЯВЛЯЕТСЯ ДЕСКРИПТОР С НОМЕРОМ 0. WRITE - АНАЛОГИЧНО (ДЕСКРИПТОР С НОМЕРОМ 1). Твой fopen на этих потоках срабатывает автоматически при старте программы. Паскаля не знаешь - не позорься. Добавлено спустя 47 секунд: Вообщем кода нет, игнор на тебя. Добавлено спустя 1 минуту 9 секунд: Джипеги твои сто раз проканали, если не в состоянии скомпилировать и проверить - твои проблемы. |
xdsl писал(а): Твой fopen на этих потоках срабатывает автоматически при старте программы. почитай про пайпы (pipes), может расширишь свои знания об архитектуре осей, консолей и вообще о программировании. а то, что используются те же функции не означает, что используется файловые операции. вывод может быть перенаправлен вообще из другой программы, это подсказка. кода нет... код был дан. не можешь сотворить аналог - не выступай. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Дедушку Таненбаума почитай, он тебе популярно пояснит что файлы бывают разные, а не только регулярные. И к каким файлам применимы какие файловые операции.
Твой код я повторять не буду, столь монстрообразные операции над входными данными душа не лежит выполнять. Со студенческих времен отучился массово строки обрабатывать, из неизвестного источника получаемые. Ты еще это программерам посоветуй, которые конвертеры пишут из одного видеоформата в другой. Сужу по результатам. Мой код на моей машине обрабатывает тестовый файл в 140МБ в 30 секунд максимум, отнимая до 40 мегабайт памяти, при этом сами расчёты выполняются за 2.5 секунды. Твой код вообще можно в топку спустить, т.к. работает не менее 10 минут (а может и год, т.к. окончания не дождался), жрет памяти под виндой до 300 метров, под линуксом вообще всю. Отмазки на неоптимизированность не принимаются, т.к. никто тебе его оптимизировать и выложить на форум не мешает. Оптимизируй, блин! Докажи, что C# - это круто, а всякие там си-паскали - атцтой! Добавлено спустя 1 минуту 16 секунд: Ах-да! Совсем забыл: andy ice писал(а): не можешь сотворить аналог - не выступай. |
xdsl писал(а): монстрообразные операции над входными данными душа не лежит выполнятьxdsl писал(а): в 140МБ xdsl писал(а): из неизвестного источника получаемыеxdsl писал(а): никто тебе его оптимизировать и выложить на форум не мешаетxdsl писал(а): Докажи, что _________________ Ин дер гросен фамилие нихт клювен клац-клац |
xdsl писал(а): Докажи, что C# - это круто, а всякие там си-паскали - атцтой! Итого. Рабочий день окончен. "Оптимизированый алгоритм"
_________________ Ин дер гросен фамилие нихт клювен клац-клац |
Много тут всего расписал, но пока постил - появился код. На всепогодное хамство andy ice обращать внимание не будем, ибо главное сделано - код выбит! |
xdsl - стрелочник _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Хамство - оно неизлечимо.
Сделал несколько вариаций-оптимизаций своего решения, проверил под виндой, сравнил скорость и потребляемую память с решением на С#. Вцелом остался доволен. Если это решение на C# - квинтэссенция оптимизации, то мое мнение (C# многократно тормознее и жручее чем freepascal) оказалось верным. Сейчас проверю под линуксом. К сожалению, приведенное решение на C# под mono компилировать отказывается, поэтому результаты будут выложены в следующем формате: 1. Исходники и бинарники на freepascal (версия 2.2.2) под линукс и виндовс 2. Исходник под виндовс и псевдобинарник на C# (.NET версии 2.0какой-тотам) 3. Результаты запуска программ на freepascal и C# в равных условиях на моей машине под виндовс 4. Результаты запуска программы на freepascal на моей машине под linux Любой недоверчивый сможет забрать исходники и бинарники для проведения теста на своей личной машине. |
xdsl писал(а): Если это решение на C# - квинтэссенция оптимизацииxdsl писал(а): C# многократно тормознее и жручее чем freepascalxdsl писал(а): приведенное решение на C# под mono компилировать отказываетсяя хренею с xdsl-я. во-первых давайте определимся. я на сишарпе пишу категорически мало, просто иногда решаю некоторые задачки. xdsl пишет на паскале уже лет 20 каждый день. уровень знаний в каждой сфере сравниваем? не сравнимо. в чем претензии? в том, что я пытаюсь и выдаю код на малознакомом языке в отличии от xdsl-я который переписывает мой код на том языке, который (по идее) идеально знает? и я виноват? то, что мой последний код выдает результат за 2 минуты (у меня) показатель чего? а того что мой винт тупо не может быстрее считать 150 мегабайт, а потом еще и записать еще больше мегеабайт - это что - ? да короче результаты не видны. еще раз видно ламерство xdsl-я, пытающегося опустить язык программирования, отличный от его любимого, что какой-то чайник (это я про себя) не может реализовать такой-же алгоритм как у него, я НЕ ЗНАЮ аналога считывания с консоли числа чтобы оно сразу попадало в byte. но я знаю, что xdsl - тупой ламер, занимающийся аж преподаванием, но который не может САМ выложить исходник задачи, условие которой сам же и придумал. этот dude-xdsl не понимает разницу между файловыми операциями и перенаправлениями, слышать не слышал про пайпы, не может определить цели и задачи тестирования двух языков, ну вот нахрен с ним вообще общаться? что-то может новое скажет? может на решение подтолкнет? обидно за нас, работодателей, когда после такого приходят бывшие студенты и несут чушь. за родину обидно. досведос. я выхожу из этого конкурса "кто кого обосрет громче". Добавлено спустя 35 минут 38 секунд:
обисняю для посторонних первый проход. создание в памяти выходных данных. 3 секунды два прохода 9 секунд. чтение и запись в созданную область памяти минута на запись данных в файл. итого имеем - на расчет тратится 18 секунд (!) в отличии от. запись - это проблемы моего винта. _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Всем заинтересованным темой сравнения скорости работы кода на С# и freepascal предлагаю заглянуть сюда:
http://shgpi.shadrinsk.net/csvsfreepascal/ andy ice писал(а): досведос. я выхожу из этого конкурса "кто кого обосрет громче".andy ice, у тебя получилось громче. Мог-бы свалить еще 30 постов назад и не выливать столько грязи. Тебе было сказано - не умеешь, не берись, дождись, пока дяди-академики разберутся, все методично проверят и преподнесут тебе результаты. Сможешь их так скушать, сможешь проверить. Дяди-академики, один из которых знает паскаль, второй - C#. Вся эта твоя заумная бредятина о решениях, которые там кто-то выложить не может - безумие чистой воды. Ты что, думаешь студенты в 2007 году на олимпиаде это решение на пальцах проверяли? Полтора года назад написано и готовилось в этом треде ответным постом на вариант В.Ю. Вместо этого влез ты, не знающий ни C#, ни паскаля, крутил-вертел, что-то требовал, сокрушался об уровне нашего педа, который, понимаш, таких тупых преподов-ламеров держит. Пайпы зачем-то приплел. Пойди-почитай, что такое пайпы и чем отличаются файловые операции над ними от файловых операций над регулярными файлами. Целей и задач он не увидел. Пойди еще раз тред почитай. Спец, блин. И хоть раз сдержи обещание: сказал досведас, значит досведас, пока ничего предложить не можешь. Но все это уже не ко мне. Меня ты в этом форуме больше не увидишь. Довел ты меня своим хамством и нападками. В отличие от тебя, я не могу позволить себе отвечать в том-же тоне. Лет цать назад дал такое-же обещание на форуме глобала, когда удалили мой тред, и не бываю там больше ни в каком виде. Зажатый литр крушовица можешь выпить самостоятельно. И продолжать развешивать лапшу на уши доверчивым форумчанам. Юзера xdsl можешь удалить или заблокировать. Адью. |
Мда..... Дружно жить не получалось.
Конструктивно тоже. А жаль. ЗЫЖ Я вообще пишу потихоньку на Басике и продаю (hi) труды свои, пытаясь асм освоить. Очень жаль. Хорошая тема была. _________________ Выбирай, что тебе делать. Тогда ты всегда будешь делать то, что выбрал. Настоящий радиолюбитель, открыв спичечный коробок и обнаружив там спички, смотрит на них С УДИВЛЕНИЕМ )) |
andy ice писал(а): что xdsl - тупой ламер, занимающийся аж преподаванием, но который не может САМ выложить исходник задачи, условие которой сам же и придумал. этот dude-xdsl не понимает разницу между файловыми операциями и перенаправлениями, слышать не слышал про пайпы, не может определить цели и задачи тестирования двух языков, ну вот нахрен с ним вообще общаться?Айс, самозабанься после этого. |
Fakir
чего вдруг? посмотрел приведеные "для сравнения" исходники - опять разные алгоритмы. что и требовалось доказать - xdsl ламер. сравнить мыло с шилом и потом с пеной у рта можно доказывать - шило круче. ps: по-русски это называется "подтасовка" _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Есть спор и аргументы - в споре рождается истина, кста. Но ты же не споришь, приводя аргументы, ты просто оскорбляешь человека. Зачем? Ты бесишься, что он пишет вот это? - xdsl писал(а): Тебе было сказано - не умеешь, не берись, дождись, пока дяди-академики разберутся, все методично проверят и преподнесут тебе результатыandy ice писал(а): во-первых давайте определимся. я на сишарпе пишу категорически мало, просто иногда решаю некоторые задачки. xdsl пишет на паскале уже лет 20 каждый день.Вообщем я считаю, ты не прав. Есть всё таки какие то нормы приличия. И обзывать человека тупым ламером у тебя точно никаких оснований нет. |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |