начинающий программист
Что мне дальше изучать после С++
Visual C++?
или что то другое?
Assembler обязательно изучать, пригодится он?
Итак, есть только два направления в програмировании: асма и прочая дельфовщина.
Если человек не знает асмы - он не програмист. Да, правильно, в ПТУ можно идти или вешаться без асмы. Я выбрал более трудный путь. :)
Движок не напишет? Опять два выхода - забыть про програмирование или повеситься. Если человек не может решить даже мега сложный проэкт за неограниченое время, то он бездарь, а не програмист.
вот не хочу флудить, а блин всё равно рука не опускается. Уважаемый Dart Bobr , вы ведь наверняка считаете себя программистом, так скажите мне - сколько способов, например, сортировки массива вы знаете. и не надо говорить что настоящие программеры (те которые крутые) пользуются только Адним способом сортировки и кнута не читают из принципа.
Но вот с этим я и не согласен. Что такое язык программирования? Это набор синтаксичесих и семантических конструкций, предназначенных для более удобного написания программ (ну понятно определение не строгое). А что такое программа? Это последовательность действий, которое переводит Виртуальную машину из одного состояния в другое. HTML всему этому соответсвует. Другое дело, что он предназначен для достаточно ограниченного класса задач.
всё-таки позволь не согласится. Формально ты прав. Ну разве что язык программирования - не просто последовательность синтаксических и семантических конструкций для описания программы, а последовательность того же самого для описания алгоритма [\B] программы, который может содержать и циклы и метки условного и безусловного перехода. И дело даже не в том, что html этого не поддерживает - дело в том, что html просто не принято считать языком программирования. просто поверь на слово :))
всё-таки позволь не согласится. И дело даже не в том, что html этого не поддерживает - дело в том, что html просто не принято считать языком программирования. просто поверь на слово :))
Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.
Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.
вас не затруднит привести это определение?
Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.
тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа
тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа
Литературы под рукой нет. А на память боюсь ошибиться. Дома посмотрю и если не возражаешь завтра приведу.
Ну на слово даже женщина не верит, когда обещаешь на ней жениться
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.
Из всякого правила бывают исключения и HTML одно из них. Ну не язык это програмирования,не язык!
Из абревиатуры уже видно что это язык разметки а не язык программирования и с помощью него ты не напишеш программу!
Ну и конечно в нем нет операторов цикла.
Литературы под рукой нет. А на память боюсь ошибиться. Дома посмотрю и если не возражаешь завтра приведу.
короче ссылка из гугла. не с левого сайта а с энциклопедии - википедия.
Язы́к программи́рования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).
Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Знак (символ) предствляет собой соглашение (явное или неявное) о приписывании чему-либо (означающему) какого-либо определённого смысла (означаемого) (см. значение).
Знаком также называют конкретный случай использования такого соглашения для передачи информации.
Знак может быть составным, то есть состоять из нескольких других знаков.
Буквы и слова человеческого языка являются знаками.
Наука о знаковых системах называется семиотикой.
В наиболее широкой трактовке, алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи. Понятие алгоритма необязательно относится к компьютерным программам, так, например, четко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако, чаще всего в качестве исполнителя выступает компьютер.
с этим ты согласен?
короче ссылка из гугла. е с левого сайта а с энциклопедии - википедия.
Язы́к программи́рования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).
Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Знак (символ) предствляет собой соглашение (явное или неявное) о приписывании чему-либо (означающему) какого-либо определённого смысла (означаемого) (см. значение).
Знаком также называют конкретный случай использования такого соглашения для передачи информации.
Знак может быть составным, то есть состоять из нескольких других знаков.
Буквы и слова человеческого языка являются знаками.
Наука о знаковых системах называется семиотикой.
В наиболее широкой трактовке, алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи. Понятие алгоритма необязательно относится к компьютерным программам, так, например, четко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако, чаще всего в качестве исполнителя выступает компьютер.
с этим ты согласен?
Ну во первых приблизительно такое, только более краткое определения языка я и дал в своем посте.
Во вторых и куда не подходит HTML?
Ну во первых приблизительно такое, только более краткое определения языка я и дал в своем посте.
Во вторых и куда не подходит HTML?
хорошо и как с помощью только языка HTML ты опишешь алгоритм, в котором будут и циклы и метки переходов и всякая лабудень.
заметь, что под словом алгоритм лично я понимаю последовательность действий описанных на русском алгоритмическом языке. по крайней мере меня так учили. для всех остальных (то есть для тех кто супер кулхацкер и программирует тока на асме и кому "рус алг язык" ничего не говорит) поясню - это там где слова "нач, кон, цикл для, цикл до, если то" и т.д.
хорошо и как с помощью только языка HTML ты опишешь алгоритм, в котором будут и циклы и метки переходов и всякая лабудень.
заметь, что под словом алгоритм лично я понимаю последовательность действий описанных на русском алгоритмическом языке. по крайней мере меня так учили. для всех остальных (то есть для тех кто супер кулхацкер и программирует тока на асме и кому "рус алг язык" ничего не говорит) поясню - это там где слова "нач, кон, цикл для, цикл до, если то" и т.д.
Не надо только меня лечить. Что такое псевдокод я прекрасно знаю. И проектирование снизу вверх и сверху вниз и т.д. для меня не пустой звук. Теперь что касается циклов, условных операторов и переходов. Кто сказал, что если язык не имеет циклов это не язык программирования? Prolog вообще понятия не имеет о циклах, ветвлениях и т.д. от этого он не перестает быть языком программирования. Тупое повторение последовательности действий столько раз, сколько нужно еще никто не отменял. Pascal в его классическом описании Виртом не имеет оператора goto. Ни в определнии языка программирования, ни в теории построения языков нигде не сказано, что язык программирования обязательно должен иметь циклы и пр. средсва ветвления. Язык программирования машины Тьюринга вполне обходится без циклов. Можно приводить массу примеров. Так что Вы меня не убедили.
цикл это просто тупое повторение набора команд. во всех перечисленных выше языках - это можно реализовать. Про пролог я правда подзабыл и не помню, но на машинах маркова и тюринга это возможно. невозможно только в ЯЗЫКЕ html.
HTML - замечательный язык РАЗМЕТКИ. на это считаю его обсуждение законченным.
кстати надеюсь никто не в обиде 8)
вот бли.н. не надо понимать меня буквально. и я никого не лечу...
цикл это просто тупое повторение набора команд. во всех перечисленных выше языках - это можно реализовать. Про пролог я правда подзабыл и не помню, но на машинах маркова и тюринга это возможно. невозможно только в ЯЗЫКЕ html.
HTML - замечательный язык РАЗМЕТКИ. на это считаю его обсуждение законченным.
кстати надеюсь никто не в обиде 8)
<BODY>
Строка цикла</p>
Строка цикла</p>
Строка цикла</p>
Строка цикла</p>
Строка цикла</p>
</BODY>
</HTML>
Чем не цикл?
ЗЫ: В одном Вы правы. HTML не является "общим" языком программирования. Т.е. на нем не возможно запрограммировать произвольный, имеющий смысл алгоритм. Он относится к классу специальных языков. Но все таки программирования.
тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа
Легко.
Язык программирования — это элемент множества { Algol, Fortran, Pascal, Basic, язык ассебмлера, C, C++, C#, Lisp, Simula, ... }.
Вероятно, список будет примерно на 2 листа :D
А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.
В свете этого определения HTML не является языком программирования, потому что не позволяет реализовать любую возможную машину Тьюринга.
Пойдёт определение?
PS не хотел вмешиваться... не удержался...
Легко.
А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.
очень краткое и ёмкое определение.
очень краткое и ёмкое определение.
Вот не менее краткое:
Лишних комментариев не нужно:
Ресторан "Blue Diner"
В будние дни веб-мастеры и программисты всех мастей собираются, чтобы за
обедом обсудить свой любимый HTML.
Если человек любящий HTML считает себя программистом, то он действительно голубой :))
Каждый день (не путать с ночью) я занимаюсь проектиком связанным с сопряжением компа и микроконтроллерной системы. И соответственно каждый день разбираю ассемблерный код для микроконтроллера - все что касается вывода в последовательный порт. Так вот, могу со всей смелостью заявить, что для контроллеров семейства i51 лучшего языка чем ассемблер еще не придумано! :D Конечно есть такие контроллеры как AVR (и много других) - для них можно писать как на Си, так и на асме, но в любом случае - асм рулит, если малые ресурсы памяти, что весьма актуально для микроконтроллерных систем.
Вывод: Dart Bobr - иди программировать микроконтроллеры. Там идеальные условия для ассемблерщика! Это твое призвание.
loop - условный переход
rep - префикс
И что-то после IDA я не замечал сишного кода, только асму в любой хрени :). Е#$%& как там много сишнику понятно.
Пишут дрова на С? Охреновенная производительность тех дров.
Не знаете ЛАЖИ на С? И вы после этого себя прогрмамистом считаете? А пачка багов из-за неправильной оптимизации кода, когда конструкция вроде i++; не работает? Может это не глюк, так должно быть, просто я тупой не знал?
Кульный хацкер? Нет, обычный студент, а не понтовик, как некоторые здесь. Прикинь, даже атомный физик безрукий если не может обломать макро-вирус. А хули он вообще за комп сел, если он атомный физик? Админ не может обломать? Бить палками того админа.
Где мой прожект. Один движок выляется на винте, второй только начал писать. Гду-то валяются на винте и другие проги, а вообще я не перед кем отчитываться не собираюсь. Это я для себя писал, и мне пох@# на всех.
И С по определению СоСет++.
Бред? А мне пофигу, что ты думаешь. Я знаю что асма - рулезз, а все остальное с тяжелой печатью Баала.
Бля, у вас и компиляторы сортируют. Короче, я больше не общаюсь на эту тему с начинающими програмистами.
Вы ... Е#$%& ...хули ... Бить палками ... отчитываться не собираюсь ... пох@# на всех ... определению СоСет++ ... Бля ... програмистами.
Бобрик, зачем же так волноваться?.. сыграйте лучше в WarCraft3, что ли.
Заходите снова, когда вернётесь в сознание.
Пишут дрова на С? Охреновенная производительность тех дров.
ты под виндой сидишь? может ты скажешь, что там все дрова на асме? :D :D :D
Кульный хацкер? Нет, обычный студент, а не понтовик, как некоторые здесь. Прикинь, даже атомный физик безрукий если не может обломать макро-вирус. А хули он вообще за комп сел, если он атомный физик? Админ не может обломать? Бить палками того админа.
мальчик... лично я могу вычистить вручную макровирус, траян и прочую гадость. но заниматься подобным маразмом вручную при наличии сотни машин, извините будет только дебил.
и мне пох@# на всех.
заметно
Бред? А мне пофигу, что ты думаешь. Я знаю что асма - рулезз, а все остальное с тяжелой печатью Баала.
удачи... это лечится.
Легко.
Язык программирования — это элемент множества { Algol, Fortran, Pascal, Basic, язык ассебмлера, C, C++, C#, Lisp, Simula, ... }.
Вероятно, список будет примерно на 2 листа :D
А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.
В свете этого определения HTML не является языком программирования, потому что не позволяет реализовать любую возможную машину Тьюринга.
Пойдёт определение?
PS не хотел вмешиваться... не удержался...
Ну это совсем не определение языка программирования и тем более не определение алгоритма.
ЗЫ: Тоже считал тему исчерпаной, да вот не удержался.
Ну это совсем не определение языка программирования и тем более не определение алгоритма.
ЗЫ: Тоже считал тему исчерпаной, да вот не удержался.
Предлагаю нам с вами пообщаться, а они там пусть пока ругаются :)
К тому же ваше мнение для меня интересно. Пусть не обижаются другие, если скажу, что мне оно интереснее многих других.
Это не определение алгоритма, поскольку формальное его определение мне неизвестно. В институте меня учили, что алгоритм — неопределяемое понятие, как, например, точка в геометрии. Правда, с тех пор уже много жидкостей утекло, так что, возможно, сегодня так и не считается.
Однако, мне всё же кажется, что определение языка программирования как языка для описания алгоритмов вполне может быть принято. Эти языки даже часто называют алгоритмическими.
Самое интересное, что под моё определение подпадает также и русский язык, а вместе с ним английский и другие "человеческие" языки. Действительно, ведь на любом из них можно описать любой вычислимый по Тьюрингу алгоритм. К тому же любой «язык программирования» является подмножеством русского. Например, фраза "оператор цикла имеет ключевое слово for" несомненно является русской, хотя и использует слово из какого-то "языка программирования". Так что русский язык тоже, на мой взгляд, является языком программирования, причём самым главным для русскоговорящих программистов.
А "самое самое" интересное, что русским языком можно описать даже русский язык. Однако, это уже, к сожалению, история совсем для другого форума.
loop - условный переход
rep - префикс
Loop - это не "условный переход". "условный переход" - это jz, jnz, итп.
rep - это префикс, а так же слово из трех латинских букв... А вообще, он используется как "оператор цикла", или приведи мне пример, где это не так.
Предлагаю нам с вами пообщаться, а они там пусть пока ругаются :)
К тому же ваше мнение для меня интересно. Пусть не обижаются другие, если скажу, что мне оно интереснее многих других.
Это не определение алгоритма, поскольку формальное его определение мне неизвестно. В институте меня учили, что алгоритм — неопределяемое понятие, как, например, точка в геометрии. Правда, с тех пор уже много жидкостей утекло, так что, возможно, сегодня так и не считается.
Однако, мне всё же кажется, что определение языка программирования как языка для описания алгоритмов вполне может быть принято. Эти языки даже часто называют алгоритмическими.
Самое интересное, что под моё определение подпадает также и русский язык, а вместе с ним английский и другие "человеческие" языки. Действительно, ведь на любом из них можно описать любой вычислимый по Тьюрингу алгоритм. К тому же любой «язык программирования» является подмножеством русского. Например, фраза "оператор цикла имеет ключевое слово for" несомненно является русской, хотя и использует слово из какого-то "языка программирования". Так что русский язык тоже, на мой взгляд, является языком программирования, причём самым главным для русскоговорящих программистов.
А "самое самое" интересное, что русским языком можно описать даже русский язык. Однако, это уже, к сожалению, история совсем для другого форума.
По поводу алгоритма: Существует несколько мнений на эту тему. Все теоретики сходятся в одном, что получить полного строго определения алгоритма пока не удается. Но есть некоторые частные определения, которые мне импонируют. Например: Алгоритм - это конечная или бесконечная последовательность действий, которая переводит виртуальную вселенную из одного статического сотояния в другое. (круто закручено а?:))
Теперь по поводу Вашего определения языка программирования. Вы сами заметили слабую сторону Вашего определения. Поскольку действительно даже русский язык попадает в его сферу. Но русский язык не является языком программирования не по тому, что с его помощью нельзя реализовать Машину Тьюринга, а потому, что он не удовлетворяет условию непротеворечивости. Т.е его нельзя привести к 3 нормальной форме Бекуса-Науэра, а следовательно невозможно провести полный синтаксический и семантический анализ. Существует теорема: Любой "живой разговорный" язык не является языком программирования поскольку не удовлетворяет условиям 3 нормальной формы Б-Н. Ее доказал по моему Дейсктра (но я могу и ошибаться).
Что же касается рассширения (я думаю вы понимаете, что с точки зрения машинной лингвистики даже часть языка, т.е. подмножество всего множества является расширением), то безусловно любой язык программирования можно рассматривать, как расширение английского или скажем русского языка. При условии что мы выстроим непротеворечивые грамматики. Кстати еще одним признаком языка программирования является возможность построения единственного конечного автомата на пространстве грамматик.
Теперь по поводу HTML. Вы произнесли ключевое слово. Алгоритмический. HTML не алгоритмический язык, поскольку не позволяет реализовать произвольный алгоритм (не покрывает все пространство). Т.е HTML это не алгоритмический язык программирования. Но тем не менее это не мешает ему быть языком программирования (описания данных). Nero кстати тоже не удовлетворяет понятию алгоритмический.
Вот в кратце мои мысли на этот счет.
ЗЫ: Еще один интересный факт. Попытка создать разговорный язык, удовлетворяющий условиям непротиворечивости не увенчалась успехом, но привела к созданию языка Эсперанто.
<skip all speech diarrhoea>
Твою одержимость и максимализм, а также невежество оправдывается твоей неопытностью.
Но вот твое хамство ничем не оправдывается.
Когда у человека не остается аргументов он переходит на мат, а это вышлядит ещё менее убидительно. По твоим последним постам я могу предположить, что ты студент института сапожников.
"Юпитер, ты злишься? Значит, ты не прав."
[COLOR=blue]Алгоритм - это конечная или бесконечная последовательность действий, которая переводит виртуальную вселенную из одного статического сотояния в другое. (круто закручено а?:))[/COLOR]
Мне тоже нравится. Я бы только выбросил слово "виртуальную". По-моему, даже раздумие об алгоритме влияет как минимум на распределение токов в голове, т.е. на состояние реальной вселенной ;)
[COLOR=blue]Теперь по поводу Вашего определения языка программирования.
...
...
Nero кстати тоже не удовлетворяет понятию алгоритмический.
Вот в кратце мои мысли на этот счет.
ЗЫ: Еще один интересный факт. Попытка создать разговорный язык, удовлетворяющий условиям непротиворечивости не увенчалась успехом, но привела к созданию языка Эсперанто.[/COLOR]
Очень хочется поспорить, но, как видно, не удастся. Так давно не оперировал такими терминами, что уже не знаю, чем отличается третья БНФ от второй, первой и сколько их там ещё :(
Поэтому принимаю предложение по изменению определения. Пусть языком программирования будет только формальный и непротиворечивый.
Тогда русский придётся из списка убрать. Да и бог с ним. Пушкин не расстроится, да и у русского языка останется ещё много полезных функций. Согласен. Программировать на русском языке не будем, потому что он не только не формален, но и противоречив. Всё равно я его люблю.
Согласен также и с предлагаемым разделением языков на
- неформальные
- формальные нечеловеческие
- алгоритмические (ясно, что формальные)
- Nero (не знаю, куда его отнести, потому что никогда о нём не слышал :()
Единственное, с чем я не согласен, это с именованием (2) языками программирования. Пусть они называются лучше нечеловеческими. Тогда моё определение (теперь уже не только моё) будет таким:
Язык программирования — это формальная непротиворечивая конструкция для описания вычислимых алгоритмов.
(Вычислимым алгоритмом будем считать такой, который завершается в конечное время.)
Ну, а для языков типа (2) это будет так:
Нечеловеческий язык — это формальная непротиворечивая конструкция для описания чего угодно, но только не алгоритмов.
Тогда (2) и (3) вместе составляют множество формальных непротиворечивых конструкций.
Вот теперь можно и свой язык сочинять. Хочешь — asm++, а хочешь — English--. Займусь на досуге :)
PS Когда создавался Esperanto, теория формальных языков ещё не была разработана, поэтому доктор Zamenhof не имел в виду непротиворечивость. Просто хотел искоренить профессию переводчика. Не любил он их почему-то :D
Мне тоже нравится. Я бы только выбросил слово "виртуальную". По-моему, даже раздумие об алгоритме влияет как минимум на распределение токов в голове, т.е. на состояние реальной вселенной ;)
Поэтому принимаю предложение по изменению определения. Пусть языком программирования будет только формальный и непротиворечивый.
Тогда русский придётся из списка убрать. Да и бог с ним. Пушкин не расстроится, да и у русского языка останется ещё много полезных функций. Согласен. Программировать на русском языке не будем, потому что он не только не формален, но и противоречив. Всё равно я его люблю.
Согласен также и с предлагаемым разделением языков на
- неформальные
- формальные нечеловеческие
- алгоритмические (ясно, что формальные)
- Nero (не знаю, куда его отнести, потому что никогда о нём не слышал :()
Единственное, с чем я не согласен, это с именованием (2) языками программирования. Пусть они называются лучше нечеловеческими. Тогда моё определение (теперь уже не только моё) будет таким:
Язык программирования — это формальная непротиворечивая конструкция для описания вычислимых алгоритмов.
(Вычислимым алгоритмом будем считать такой, который завершается в конечное время.)
Ну, а для языков типа (2) это будет так:
Нечеловеческий язык — это формальная непротиворечивая конструкция для описания чего угодно, но только не алгоритмов.
Тогда (2) и (3) вместе составляют множество формальных непротиворечивых конструкций.
Вот теперь можно и свой язык сочинять. Хочешь — asm++, а хочешь — English--. Займусь на досуге :)
PS Когда создавался Esperanto, теория формальных языков ещё не была разработана, поэтому доктор Zamenhof не имел в виду непротиворечивость. Просто хотел искоренить профессию переводчика. Не любил он их почему-то :D
Вы меня убедили. Принимаю Вашу аксиоматику. Вобщем не суть как назвать. Вобщем и среди теоретиков единства нет. Кто считает HTML,XMl,SQL- языками программирования, а кто и нет. Давно бы надо было все как то упорядочить. Единственно где я не согласен это по поводу конечного времени. Ведь существуют алгоритмы автоматизации непрерывных технологических процессов. Я понимаю, что реально они конечны, но по своей природе все таки бесконечные.
ЗЫ: на счет asm++, не знаю, а вот English-- с удовольствием присоединюсь :D. Я как Zamenhof его почему то не люблю :{
Вы все где в ПТУ учились?
----------------------------------
Короче, я больше не общаюсь на эту тему с начинающими програмистами.
Низкий поклон и вечная память вам маэстро! :D:D:D
Признаюсь: все мы тут банда ламеров которые великому человеку мозги пудрят! Позор нам! :D
А вообще - мои аплодисменты: так знатно веселить публику могут не многие.
В таком состоянии неплохо бы на курорт съездить - там где белые одеяния выдают с рукавами до полу.
ЗЫ: Интересно, а че так долго не отвечал? Обдумывал в деталях свой генеальный пост?
ЗЫЗЫ: Ты студент чего? Может Green угадал?
Наверное у меня такаежа фамилия как у вас...
;)
Я с 8 класа по 2 курс програмил на всякой дельфовщине. Мне это НАДОЕЛО! Если комму-то не нравится асма, то меня не е$#%. Пишите хоть на глиняных дощечках, со встроеными компиляторами. Я высказал свой ИМХО: Програмер без асмы - не програмер. Если кто-то обламывает макровири ручками, то что я могу про него сказать: Гонит он, можно проще. А то что написано на асме на совесть просто обломать не получится в ручную, даже самому охреновенному програмеру на С.
Сапожник? Все же лучше чем ПТУшник. А если интересно - в моем городе один универ, и узнать можна за нефиг на кого я учусь.
Не нравится мат? А мне пофиг. Могу тебе фильтр от матов написать и продать. Будешь юзать и мата в нете не увидишь :)). Обновление и поддержка через Интернет. Прога будет С-шная и требовать 600 метров патчей, который прийдется качать. Хе-хе(покатываясь со смеху со стула).
Печать Баала лечится? Не понял, есть антимайкрософтовский патч ? :))
AlexandrVSmirno не переживайте вы пожалуйста за автора, автор не забыл что он создал такой интересный топик. Я еще новичек, заполняю свой вакуум в голове, к тому же у меня появился грандиозный проект, кстате благодаря многим писателям этого топика!!! Огромное спасибо!!!
Наверное у меня такаежа фамилия как у вас...
Можно поинтересноваться, что за проект задумали делать?
Не нравится мат? А мне пофиг. Могу тебе фильтр от матов написать и продать. Будешь юзать и мата в нете не увидишь ). Обновление и поддержка через Интернет. Прога будет С-шная и требовать 600 метров патчей, который прийдется качать. Хе-хе(покатываясь со смеху со стула).
Эта тема - источник хорошего настроения: почитал с утра, и весь день весело! :) Зря я пытался раньше времени откреститься от этой ветки - можно потерять очень много положительных эмоций.
Dart Bobr - может приведешь пример программы работающей в инете и написанной на асме? или еще лучше - пример программы, требующей 600 метров патчей. Даже виндовых патчей у меня менее 10-ти Мб (не путать патчи с обновлениями!), хотя я ее обновляю как только появляется возможность. И опять-таки, выша точка зрения: "БГ - мастдай!" А что же тогда рулез? :D Не собираюсь спорить на эту тему, мне интересно твое имхо.
ВЕЛИКИЙ Dart Bobr - поведай нам оптимальный способ борьбы с макровирями, естественно, если это не антивирусные программы.
Я с 8 класа по 2 курс програмил на всякой дельфовщине. Мне это НАДОЕЛО!
Надоело я так понимаю потому что нифига путевого не получалось. Отсюда еще вопрос: не пробовали обследовать свои руки при помощи такого инструмента как транспортир и ему подобные приборы для измерения угла искривления?
А в Воркрафт мне не с кем играть. А через нет дорого
Ну и не играй. Ни кто еще от этого не умирал. Лучше послушай классическую музыку.
А вот ненадо говорить что у меня ничего не получилось за столько лет погаминга на дельфах и всякой прочей хрени. Я между прочим имею всеукраинский диплом, за свой прожект (кажется я тогда архиватор писал). Только дельфи, с - это все фигня. Скажем есть куча задач, для которых целесообразно только асму юзать. И эти задачи самые интересные :).
Способ борьбы с макровирями? Самый простой способ - отключить макросы X)- . Но есть и другие способы, вот я например сейчас заниммаюсь разработкой собственной проги-антивиря(хотелось бы посмотреть как бы ты ее писал на С).
10мб. патчей? Слабо. Найи к примеру игрушку Last Days of Gaia(точно не на асме написаная). Чтоб ее финальный релиз заработал нужен патч на 150 метров - распаковывается в 2 гига. А проги, писаные на асме короткие, и за 8 лет я не встретил реально глючащих. Нет, это не в языке дело. Дело в том, что програмист на асме думает лучше и сотавляет более эффективные проги, чем програмист на С. Отсюда вывод - асма полезная и необходимая для мозгов, а прочая дельфовщина - создают иллюзию програмирования. Это мое ИМХО.
S_T
Инструкция loop проверяет флаг cx на 0. Если истинно то переход на метку и умменьшение cx. То-есть это инструкция условного перехода.
Твою одержимость и максимализм, а также невежество оправдывается твоей неопытностью.
Но вот твое хамство ничем не оправдывается.
Когда у человека не остается аргументов он переходит на мат, а это вышлядит ещё менее убидительно. По твоим последним постам я могу предположить, что ты студент института сапожников.
"Юпитер, ты злишься? Значит, ты не прав."
Бесспорно ты крут. Только мне до лампочки то что ты мне тут нпостил.
S_T
Инструкция loop проверяет флаг cx на 0. Если истинно то переход на метку и умменьшение cx. То-есть это инструкция условного перехода.
Во-первых, cx - это не флаг. Во-вторых, если cx=0 "истинно", "то переход на метку и умменьшение cx" как раз не происходит. А происходит так: уменьшение cx на 1, затем проверка равенства cx нулю. И если cx != 0, то произовдится переход на указанную метку. Так что прежде чем доказывать крутость языка ассемблера - выучите его получше (и не делайте таких простых ошибок).
Оператор
{
операторы
}
while (предикат)
Тоже, знаете ли, проверяет "предикат" на равенство нулю. Если это не так, то переходит на начало (скажем так, "метка" do), а если это так - то такого перехода не происходит.
Не правда ли, очень похоже на логику работы loop. Ну а оператор
{
операторы
}
В одной из своих модификаций ("список выражений1" - пуст) - тоже очень похож на loop (за исключением того, что for - оператор цикла с пред-условием).
И при этом и while и for являются операторами цикла.
Конечно, же loop (в результате огромной гибкости языка ассемблера) можно использовать множеством других извращенных способов, где он естественно не будет являться оператором цикла (с точки зрения языков более высокого уровня, таких как C). Но это совершенно не значит, что loop не является оператором цикла.
И, все-таки, "условный переход" - это переход при выполнении того или иного условия. А loop не выполняет перехода при выполнении того или иного условия. Loop уменьшает значение cx на 1, проверяет условие (cx!=0) если оно истинно, то производится переход. Заметили принципиальную разницу с "условным переходом"? Наличие дополнительных действий (кроме проверки условия и собственно самого перехода) в "условных переходах" НЕ подразумевается.
Кстати, rep - сокращенный и видоизмененный вариант loop... И его уж не как "оператор цикла" использовать по-моему нельзя.
И, если уж на то пошло, все началось с Вашей фразы
В "асме" вообще нет операторов. Есть только инструкции. А понятие "оператор" появляется только в языках высокого уровня (хотя я могу и ошибаться в этой терминологии). Так вот инструкция loop была введена для упрощения создания циклов. Ведь loop очень просто можно заменить связкой из двух инструкций:
....
sub cx,1
jnz loop_start
...
Правда этот вариант влияет на значения флагов, в отличие от команды loop, которая фалги не меняет.
Я ж блин и говорю, асма вместо всего :). А еше лучше TASM или WASM или FASM. Пусть БГ локти кусает.
Гы! Я вообще-то спрашивал про ОС. Т.е. вопрос остается в силе.
А вот ненадо говорить что у меня ничего не получилось за столько лет погаминга на дельфах и всякой прочей хрени. Я между прочим имею всеукраинский диплом, за свой прожект (кажется я тогда архиватор писал).
Как однажды сказал незабвенный Green: "давайте письками меряться!"
Думаю тут немало людей, которые имеют и дипломы и прочую бумажную дребедень.
Способ борьбы с макровирями? Самый простой способ - отключить макросы X)- .
Интересно, а если ты админ на крупном предприятии и например возьмешь и повырубаешь макросы бухам. А может они ими активно пользуются? Если так судить, то лучший способ борьбы с вирями вообще - это не включать компьютер. ИМХО: это не метод.
Но есть и другие способы, вот я например сейчас заниммаюсь разработкой собственной проги-антивиря(хотелось бы посмотреть как бы ты ее писал на С).
Тебе привести ссылку на сайт с исходником простенького антивиря написанного на Си? Между прочим лечил от cih95, а не от макровирей. И ничего сложного в нем нет. Нужно только хорошо знать формать РЕ-файла. Где-то на uinc.ru валяется, если сильно надо, то могу найти.
10мб. патчей? Слабо. Найи к примеру игрушку Last Days of Gaia(точно не на асме написаная). Чтоб ее финальный релиз заработал нужен патч на 150 метров - распаковывается в 2 гига.
Во-первых: игрушкам не фанатею и поэтому не знаю таких сокрушительных подробностей. Во-вторых: игрушки, это не есть серьезные программы. И в третьих: помоему нет больших игрушек написанных на асме.
Нет, это не в языке дело.
"The true is out there" :) Наконец мы к этому подобрались! Не в языке дело.
Дело в том, что програмист на асме думает лучше и сотавляет более эффективные проги, чем програмист на С. Отсюда вывод - асма полезная и необходимая для мозгов, а прочая дельфовщина - создают иллюзию програмирования. Это мое ИМХО.
Где-то ты прав. Лично знаю людей которые умеют делать сногсшибательные программки на делфах: текстовый редактор - чуть лучше notepad; нечто вроде БД на основе таблиц Paradox7 и прочие "суперпрограммы" и при этом считают себя хорошими программистами.
И естественно таких людей больше, чем людей способных написать действительно стоящую вещь по одной простой причине: делфы - визуальная среда программирования вдобавок реализованная на Паскале. С ее основами может разобраться человек далекий от понимания работы компа, ОС, принципов программирования вообще, и при этом писать работоспособные приложения.
В итоге получаем массу "программистов" которые даже понятия не имеют об основах работы той платформы, для которой они пишут свои произведения. Вот тебе и причина "высокой" надежности и производительности многих делфовых программ.
Если найдуться протестующие, могу привести яркий пример: есть довольно-таки известный чат для локальной сети под названием TChat (Tales Chat).
Писан на делфях. Название их сайта не помню, но кому нужно - найдет сам через поиск.
Это просто сборник глюков и багов. А уж о стиле программирования и говорить страшно. Видел я его исходник (знакомый с их сайта качал) - в том исходнике наверно строчек 10 комментария на весь проект. Неудивительно, что так глючно работает - разобраться в том, что там накатано без комментариев, нет никакой возможности.
И ошибки примитивные есть (примитивные - слабо сказано), которые авторы не могут ни как исправить - сами признавались.
Dart Bobr - надо уметь различать подобных "программистов" от начинающих и настоящих программистов.
Иллюзию программирования создает не язык, или среда, а человек который не умеет это делать.
Ну а в том, что асма - вещь полезная, так никто и не сомневался.
ЗЫ: ты так и не привел пример интернет-приложения написанного на асме. Боюсь что таких очень не много.
То что cx - регистр, а не флаг, это ты прав. (На бухую башку я могу сказать еще и не такое). Но на мой хлопский розум это все равно инструкция условного перехода, а не цикла :). Предлагаю задачу - написать цикл на асме без перехода на метку (плохой стиль програмирования :). Знаю, щас скажешь - Любой цикл компилируется в код, в котором есть переход на метку. В понимании нормального человека, не вдающегося в подробности компиляции, юзанье цикла - хороший стиль програмированияб а метки - плохойю Не видит человек метки в циклеб и думает что нету ее. А в асме нет таких "замаскированых" циклов. Все есть метки. Значит и все организованые циклы в асме - организовываются уже с помощью не оператора цикла, а оператора перехода на метку.).
Вынужден не согласится, в асме есть операторы... в виде написаных макросов. Там же есть и оператор цикла, но такая хрень есть только, насколько я знаю в хатчевском masm32.
pacific_7
ОС - Free BSD.
Прикольно, ты будешь мерять :). Я не про-то что я такой пиздец модный, а про то что я чего-то достиг, и у меня есс-но есть бумажка :). Бесспорно здесь народу с такой и кручей хренью скорей всего дохрена. Но не надо, не зная говорить про меня всякое г.....
Для полных лохов админов как раз и существует редиска - Касперский. Позволю себе процитировать Z0mbie: "г-н Касперский лижет жопу только
Биллу Гейцу. г-ну Касперскому пытается полизать некий г-н Каримов, но
каспер ловко уворачивается." А нормальный админ настроит нормально файрвол и список доверительных узлов. Да и вообще не даст по всяким порно сайтам с вирусами лазить.
CIH найти сейчас - что два пальца обоссать. Попробуй проемулировать какой-нить код. Да, это возможно на С. Но такую С-прогу простенькой у меня язык не поворачивается назвать.
Инет приложения написать возможно и на асме через CGI (у меня друг как-то такой фигней страдал). Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.
Dart Bobr, ты опять несешь разную околесицу, мусор... поэтому и от топиков твоих попахивает выгребной ямой.
а про то что я чего-то достиг, и у меня есс-но есть бумажка :).
Ну так и воспользуйся своей бумажкой по назначению... Уточнить?
Позволю себе процитировать Z0mbie:
Ты бы лучше процитировал Бека, GoF, Фаулера...
Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.
При чем тут Делфи?
ОС - Free BSD.
Безусловно, эта оч. хорошая ось написана на асме ;) Ведь нет! А чем тогда она лучше тех же виндов, если не брать в качестве сервера, а в качестве настольной ОС для простых юзеров которым вовсе не интересно что такое ядро и какой модуль надо добавить (и как это сделать) если у тебя по умолчанию не работает USB.
Прикольно, ты будешь мерять :). Я не про-то что я такой пиздец модный, а про то что я чего-то достиг, и у меня есс-но есть бумажка :).
Решительно не понял к чему, но про бумажку - согласен с Green'ом.
Да и вообще не даст по всяким порно сайтам с вирусами лазить.
Честно говоря - долго ждал, когда ты приведешь этот довод. Когда то я сам примерно так думал. А теперь внимание! Читаем здесь: http://www.securitylab.ru/54395.html Ну как? И куда денешься если попадешь в такую ситуацию?
И не следует забывать про такую вещь как флоппи и CD. Или ты это все предлагаешь отключить?
Да, это возможно на С. Но такую С-прогу простенькой у меня язык не поворачивается назвать.
Я думал, что ты неплохо знаешь как устроены классические (знаменитые) вирусы. Если бы так, то ты бы знал, что ничего сложного в этом нет. Кстати, чем писать на Си сложнее чем на асме? В Си присутствует полный набор битовых операций и возможен произвольны доступ к любому биту данных. Пример: http://www.uinc.ru/articles/35/ - там описана "лечебная" функция. Остается написать функцию обхода дерева каталогов (что не есть сложно) и запускать функцию-лечилку для каждого каталога. Вся программа при этом поместится на 3 экрана. Самое сложное здесь - хорошо знать РЕ-формат файла. Сложно? Или ты хочешь сказать, что на асме будет более просто и знать нужно меньше? Помоему нет (и не только помоему).
Инет приложения написать возможно и на асме через CGI (у меня друг как-то такой фигней страдал).
Вот-вот: фигней.
S_T
Для полных лохов админов как раз и существует редиска - Касперский. Позволю себе процитировать Z0mbie: "г-н Касперский лижет жопу только
Биллу Гейцу. г-ну Касперскому пытается полизать некий г-н Каримов, но
каспер ловко уворачивается."
позволю себе заметить, что Касперским антивирусом пользуется оч. малая часть админов :)
ЗЫ: кто такой Z0mbie? :)
А нормальный админ настроит нормально файрвол и список доверительных узлов. Да и вообще не даст по всяким порно сайтам с вирусами лазить.
а ты работал админом? откуда такая уверенность, как будет делать нормальный админ?
Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.
ты вообще адекватен? тебе уже несколько раз сказали, что знать асм любой нормальный программер должен (и не только системный). но писать исключительно на асме - бред.