Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

начинающий программист

10K
10 мая 2005 года
heaven
9 / / 10.05.2005
Народ начал изучать С++, может быть надо было с другого начать,
Что мне дальше изучать после С++
Visual C++?
или что то другое?
Assembler обязательно изучать, пригодится он?
Страницы:
2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by Dart Bobr
Итак, есть только два направления в програмировании: асма и прочая дельфовщина.
Если человек не знает асмы - он не програмист. Да, правильно, в ПТУ можно идти или вешаться без асмы. Я выбрал более трудный путь. :)

Движок не напишет? Опять два выхода - забыть про програмирование или повеситься. Если человек не может решить даже мега сложный проэкт за неограниченое время, то он бездарь, а не програмист.



вот не хочу флудить, а блин всё равно рука не опускается. Уважаемый Dart Bobr , вы ведь наверняка считаете себя программистом, так скажите мне - сколько способов, например, сортировки массива вы знаете. и не надо говорить что настоящие программеры (те которые крутые) пользуются только Адним способом сортировки и кнута не читают из принципа.

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Но вот с этим я и не согласен. Что такое язык программирования? Это набор синтаксичесих и семантических конструкций, предназначенных для более удобного написания программ (ну понятно определение не строгое). А что такое программа? Это последовательность действий, которое переводит Виртуальную машину из одного состояния в другое. HTML всему этому соответсвует. Другое дело, что он предназначен для достаточно ограниченного класса задач.



всё-таки позволь не согласится. Формально ты прав. Ну разве что язык программирования - не просто последовательность синтаксических и семантических конструкций для описания программы, а последовательность того же самого для описания алгоритма [\B] программы, который может содержать и циклы и метки условного и безусловного перехода. И дело даже не в том, что html этого не поддерживает - дело в том, что html просто не принято считать языком программирования. просто поверь на слово :))

259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
всё-таки позволь не согласится. И дело даже не в том, что html этого не поддерживает - дело в том, что html просто не принято считать языком программирования. просто поверь на слово :))


Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.

2
16 мая 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by AlexandrVSmirno
Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.


вас не затруднит привести это определение?

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Ну на слово даже женщина не верит, когда обещаешь на ней жениться:D
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.


тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа

259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа


Литературы под рукой нет. А на память боюсь ошибиться. Дома посмотрю и если не возражаешь завтра приведу.

406
16 мая 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by squirL
Ну на слово даже женщина не верит, когда обещаешь на ней жениться
А по поводу принято-непринято. Существует теория основ компиляции и построения языков. Так там достаточно строго описано, что такое язык программирования. HTML попадает под это определение. Вот и все.



Из всякого правила бывают исключения и HTML одно из них. Ну не язык это програмирования,не язык!
Из абревиатуры уже видно что это язык разметки а не язык программирования и с помощью него ты не напишеш программу!
Ну и конечно в нем нет операторов цикла.

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Литературы под рукой нет. А на память боюсь ошибиться. Дома посмотрю и если не возражаешь завтра приведу.


короче ссылка из гугла. не с левого сайта а с энциклопедии - википедия.

Язы́к программи́рования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).

Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Знак (символ) предствляет собой соглашение (явное или неявное) о приписывании чему-либо (означающему) какого-либо определённого смысла (означаемого) (см. значение).
Знаком также называют конкретный случай использования такого соглашения для передачи информации.
Знак может быть составным, то есть состоять из нескольких других знаков.
Буквы и слова человеческого языка являются знаками.
Наука о знаковых системах называется семиотикой.

В наиболее широкой трактовке, алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи. Понятие алгоритма необязательно относится к компьютерным программам, так, например, четко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако, чаще всего в качестве исполнителя выступает компьютер.

с этим ты согласен?

259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
короче ссылка из гугла. е с левого сайта а с энциклопедии - википедия.

Язы́к программи́рования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера).

Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Знак (символ) предствляет собой соглашение (явное или неявное) о приписывании чему-либо (означающему) какого-либо определённого смысла (означаемого) (см. значение).
Знаком также называют конкретный случай использования такого соглашения для передачи информации.
Знак может быть составным, то есть состоять из нескольких других знаков.
Буквы и слова человеческого языка являются знаками.
Наука о знаковых системах называется семиотикой.

В наиболее широкой трактовке, алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи. Понятие алгоритма необязательно относится к компьютерным программам, так, например, четко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек. Однако, чаще всего в качестве исполнителя выступает компьютер.

с этим ты согласен?


Ну во первых приблизительно такое, только более краткое определения языка я и дал в своем посте.
Во вторых и куда не подходит HTML?

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Ну во первых приблизительно такое, только более краткое определения языка я и дал в своем посте.
Во вторых и куда не подходит HTML?



хорошо и как с помощью только языка HTML ты опишешь алгоритм, в котором будут и циклы и метки переходов и всякая лабудень.

заметь, что под словом алгоритм лично я понимаю последовательность действий описанных на русском алгоритмическом языке. по крайней мере меня так учили. для всех остальных (то есть для тех кто супер кулхацкер и программирует тока на асме и кому "рус алг язык" ничего не говорит) поясню - это там где слова "нач, кон, цикл для, цикл до, если то" и т.д.

259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
хорошо и как с помощью только языка HTML ты опишешь алгоритм, в котором будут и циклы и метки переходов и всякая лабудень.

заметь, что под словом алгоритм лично я понимаю последовательность действий описанных на русском алгоритмическом языке. по крайней мере меня так учили. для всех остальных (то есть для тех кто супер кулхацкер и программирует тока на асме и кому "рус алг язык" ничего не говорит) поясню - это там где слова "нач, кон, цикл для, цикл до, если то" и т.д.


Не надо только меня лечить. Что такое псевдокод я прекрасно знаю. И проектирование снизу вверх и сверху вниз и т.д. для меня не пустой звук. Теперь что касается циклов, условных операторов и переходов. Кто сказал, что если язык не имеет циклов это не язык программирования? Prolog вообще понятия не имеет о циклах, ветвлениях и т.д. от этого он не перестает быть языком программирования. Тупое повторение последовательности действий столько раз, сколько нужно еще никто не отменял. Pascal в его классическом описании Виртом не имеет оператора goto. Ни в определнии языка программирования, ни в теории построения языков нигде не сказано, что язык программирования обязательно должен иметь циклы и пр. средсва ветвления. Язык программирования машины Тьюринга вполне обходится без циклов. Можно приводить массу примеров. Так что Вы меня не убедили.

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
вот бли.н. не надо понимать меня буквально. и я никого не лечу...
цикл это просто тупое повторение набора команд. во всех перечисленных выше языках - это можно реализовать. Про пролог я правда подзабыл и не помню, но на машинах маркова и тюринга это возможно. невозможно только в ЯЗЫКЕ html.
HTML - замечательный язык РАЗМЕТКИ. на это считаю его обсуждение законченным.

кстати надеюсь никто не в обиде 8)
259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
вот бли.н. не надо понимать меня буквально. и я никого не лечу...
цикл это просто тупое повторение набора команд. во всех перечисленных выше языках - это можно реализовать. Про пролог я правда подзабыл и не помню, но на машинах маркова и тюринга это возможно. невозможно только в ЯЗЫКЕ html.
HTML - замечательный язык РАЗМЕТКИ. на это считаю его обсуждение законченным.

кстати надеюсь никто не в обиде 8)


Код:
<HTML>
<BODY>



Строка цикла</p>


Строка цикла</p>


Строка цикла</p>


Строка цикла</p>


Строка цикла</p>

</BODY>
</HTML>

Чем не цикл?

ЗЫ: В одном Вы правы. HTML не является "общим" языком программирования. Т.е. на нем не возможно запрограммировать произвольный, имеющий смысл алгоритм. Он относится к классу специальных языков. Но все таки программирования.
425
16 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by greyich
тогда приведи плиз полное и точное определение, что такое "язык программирования". если оно конечно не на 2 листа

Легко.

Язык программирования — это элемент множества { Algol, Fortran, Pascal, Basic, язык ассебмлера, C, C++, C#, Lisp, Simula, ... }.

Вероятно, список будет примерно на 2 листа :D

А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.

В свете этого определения HTML не является языком программирования, потому что не позволяет реализовать любую возможную машину Тьюринга.

Пойдёт определение?

PS не хотел вмешиваться... не удержался...

2.1K
16 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by sq_deep
Легко.

А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.



очень краткое и ёмкое определение.

10
17 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by greyich
очень краткое и ёмкое определение.


Вот не менее краткое:

Лишних комментариев не нужно:

Ресторан "Blue Diner"

В будние дни веб-мастеры и программисты всех мастей собираются, чтобы за
обедом обсудить свой любимый HTML.

Если человек любящий HTML считает себя программистом, то он действительно голубой :))

243
17 мая 2005 года
pacific_7
1.9K / / 06.09.2004
Не хотел больше сюда писать, но тут совсем другая тема уже :)
Каждый день (не путать с ночью) я занимаюсь проектиком связанным с сопряжением компа и микроконтроллерной системы. И соответственно каждый день разбираю ассемблерный код для микроконтроллера - все что касается вывода в последовательный порт. Так вот, могу со всей смелостью заявить, что для контроллеров семейства i51 лучшего языка чем ассемблер еще не придумано! :D Конечно есть такие контроллеры как AVR (и много других) - для них можно писать как на Си, так и на асме, но в любом случае - асм рулит, если малые ресурсы памяти, что весьма актуально для микроконтроллерных систем.
Вывод: Dart Bobr - иди программировать микроконтроллеры. Там идеальные условия для ассемблерщика! Это твое призвание.
255
17 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
Вы все где в ПТУ учились?

loop - условный переход
rep - префикс

И что-то после IDA я не замечал сишного кода, только асму в любой хрени :). Е#$%& как там много сишнику понятно.

Пишут дрова на С? Охреновенная производительность тех дров.

Не знаете ЛАЖИ на С? И вы после этого себя прогрмамистом считаете? А пачка багов из-за неправильной оптимизации кода, когда конструкция вроде i++; не работает? Может это не глюк, так должно быть, просто я тупой не знал?

Кульный хацкер? Нет, обычный студент, а не понтовик, как некоторые здесь. Прикинь, даже атомный физик безрукий если не может обломать макро-вирус. А хули он вообще за комп сел, если он атомный физик? Админ не может обломать? Бить палками того админа.

Где мой прожект. Один движок выляется на винте, второй только начал писать. Гду-то валяются на винте и другие проги, а вообще я не перед кем отчитываться не собираюсь. Это я для себя писал, и мне пох@# на всех.

И С по определению СоСет++.

Бред? А мне пофигу, что ты думаешь. Я знаю что асма - рулезз, а все остальное с тяжелой печатью Баала.

Бля, у вас и компиляторы сортируют. Короче, я больше не общаюсь на эту тему с начинающими програмистами.
425
17 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by Dart Bobr
Вы ... Е#$%& ...хули ... Бить палками ... отчитываться не собираюсь ... пох@# на всех ... определению СоСет++ ... Бля ... програмистами.

Бобрик, зачем же так волноваться?.. сыграйте лучше в WarCraft3, что ли.

Заходите снова, когда вернётесь в сознание.

2
17 мая 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Dart Bobr

Пишут дрова на С? Охреновенная производительность тех дров.


ты под виндой сидишь? может ты скажешь, что там все дрова на асме? :D :D :D

Цитата:
Originally posted by Dart Bobr

Кульный хацкер? Нет, обычный студент, а не понтовик, как некоторые здесь. Прикинь, даже атомный физик безрукий если не может обломать макро-вирус. А хули он вообще за комп сел, если он атомный физик? Админ не может обломать? Бить палками того админа.


мальчик... лично я могу вычистить вручную макровирус, траян и прочую гадость. но заниматься подобным маразмом вручную при наличии сотни машин, извините будет только дебил.

Цитата:
Originally posted by Dart Bobr

и мне пох@# на всех.


заметно

Цитата:
Originally posted by Dart Bobr

Бред? А мне пофигу, что ты думаешь. Я знаю что асма - рулезз, а все остальное с тяжелой печатью Баала.


удачи... это лечится.

259
17 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sq_deep
Легко.

Язык программирования — это элемент множества { Algol, Fortran, Pascal, Basic, язык ассебмлера, C, C++, C#, Lisp, Simula, ... }.

Вероятно, список будет примерно на 2 листа :D

А если "более серьёзно", то язык программирования — это система правил, позволяющая описывать алгоритмы. Алгоритмы понимаются в смысле Тьюринга.

В свете этого определения HTML не является языком программирования, потому что не позволяет реализовать любую возможную машину Тьюринга.

Пойдёт определение?

PS не хотел вмешиваться... не удержался...


Ну это совсем не определение языка программирования и тем более не определение алгоритма.

ЗЫ: Тоже считал тему исчерпаной, да вот не удержался.

425
17 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by AlexandrVSmirno
Ну это совсем не определение языка программирования и тем более не определение алгоритма.

ЗЫ: Тоже считал тему исчерпаной, да вот не удержался.

Предлагаю нам с вами пообщаться, а они там пусть пока ругаются :)

К тому же ваше мнение для меня интересно. Пусть не обижаются другие, если скажу, что мне оно интереснее многих других.


Это не определение алгоритма, поскольку формальное его определение мне неизвестно. В институте меня учили, что алгоритм — неопределяемое понятие, как, например, точка в геометрии. Правда, с тех пор уже много жидкостей утекло, так что, возможно, сегодня так и не считается.

Однако, мне всё же кажется, что определение языка программирования как языка для описания алгоритмов вполне может быть принято. Эти языки даже часто называют алгоритмическими.

Самое интересное, что под моё определение подпадает также и русский язык, а вместе с ним английский и другие "человеческие" языки. Действительно, ведь на любом из них можно описать любой вычислимый по Тьюрингу алгоритм. К тому же любой «язык программирования» является подмножеством русского. Например, фраза "оператор цикла имеет ключевое слово for" несомненно является русской, хотя и использует слово из какого-то "языка программирования". Так что русский язык тоже, на мой взгляд, является языком программирования, причём самым главным для русскоговорящих программистов.

А "самое самое" интересное, что русским языком можно описать даже русский язык. Однако, это уже, к сожалению, история совсем для другого форума.

831
17 мая 2005 года
S_T
117 / / 23.10.2002
Цитата:
Originally posted by Dart Bobr
loop - условный переход
rep - префикс



Loop - это не "условный переход". "условный переход" - это jz, jnz, итп.
rep - это префикс, а так же слово из трех латинских букв... А вообще, он используется как "оператор цикла", или приведи мне пример, где это не так.

259
17 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sq_deep
Предлагаю нам с вами пообщаться, а они там пусть пока ругаются :)

К тому же ваше мнение для меня интересно. Пусть не обижаются другие, если скажу, что мне оно интереснее многих других.


Это не определение алгоритма, поскольку формальное его определение мне неизвестно. В институте меня учили, что алгоритм — неопределяемое понятие, как, например, точка в геометрии. Правда, с тех пор уже много жидкостей утекло, так что, возможно, сегодня так и не считается.

Однако, мне всё же кажется, что определение языка программирования как языка для описания алгоритмов вполне может быть принято. Эти языки даже часто называют алгоритмическими.

Самое интересное, что под моё определение подпадает также и русский язык, а вместе с ним английский и другие "человеческие" языки. Действительно, ведь на любом из них можно описать любой вычислимый по Тьюрингу алгоритм. К тому же любой «язык программирования» является подмножеством русского. Например, фраза "оператор цикла имеет ключевое слово for" несомненно является русской, хотя и использует слово из какого-то "языка программирования". Так что русский язык тоже, на мой взгляд, является языком программирования, причём самым главным для русскоговорящих программистов.

А "самое самое" интересное, что русским языком можно описать даже русский язык. Однако, это уже, к сожалению, история совсем для другого форума.


По поводу алгоритма: Существует несколько мнений на эту тему. Все теоретики сходятся в одном, что получить полного строго определения алгоритма пока не удается. Но есть некоторые частные определения, которые мне импонируют. Например: Алгоритм - это конечная или бесконечная последовательность действий, которая переводит виртуальную вселенную из одного статического сотояния в другое. (круто закручено а?:))
Теперь по поводу Вашего определения языка программирования. Вы сами заметили слабую сторону Вашего определения. Поскольку действительно даже русский язык попадает в его сферу. Но русский язык не является языком программирования не по тому, что с его помощью нельзя реализовать Машину Тьюринга, а потому, что он не удовлетворяет условию непротеворечивости. Т.е его нельзя привести к 3 нормальной форме Бекуса-Науэра, а следовательно невозможно провести полный синтаксический и семантический анализ. Существует теорема: Любой "живой разговорный" язык не является языком программирования поскольку не удовлетворяет условиям 3 нормальной формы Б-Н. Ее доказал по моему Дейсктра (но я могу и ошибаться).
Что же касается рассширения (я думаю вы понимаете, что с точки зрения машинной лингвистики даже часть языка, т.е. подмножество всего множества является расширением), то безусловно любой язык программирования можно рассматривать, как расширение английского или скажем русского языка. При условии что мы выстроим непротеворечивые грамматики. Кстати еще одним признаком языка программирования является возможность построения единственного конечного автомата на пространстве грамматик.
Теперь по поводу HTML. Вы произнесли ключевое слово. Алгоритмический. HTML не алгоритмический язык, поскольку не позволяет реализовать произвольный алгоритм (не покрывает все пространство). Т.е HTML это не алгоритмический язык программирования. Но тем не менее это не мешает ему быть языком программирования (описания данных). Nero кстати тоже не удовлетворяет понятию алгоритмический.

Вот в кратце мои мысли на этот счет.

ЗЫ: Еще один интересный факт. Попытка создать разговорный язык, удовлетворяющий условиям непротиворечивости не увенчалась успехом, но привела к созданию языка Эсперанто.

3
17 мая 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Dart Bobr

<skip all speech diarrhoea>



Твою одержимость и максимализм, а также невежество оправдывается твоей неопытностью.
Но вот твое хамство ничем не оправдывается.
Когда у человека не остается аргументов он переходит на мат, а это вышлядит ещё менее убидительно. По твоим последним постам я могу предположить, что ты студент института сапожников.

"Юпитер, ты злишься? Значит, ты не прав."

425
17 мая 2005 года
sq_deep
498 / / 18.02.2005
Цитата:
Originally posted by AlexandrVSmirno
[COLOR=blue]Алгоритм - это конечная или бесконечная последовательность действий, которая переводит виртуальную вселенную из одного статического сотояния в другое. (круто закручено а?:))[/COLOR]


Мне тоже нравится. Я бы только выбросил слово "виртуальную". По-моему, даже раздумие об алгоритме влияет как минимум на распределение токов в голове, т.е. на состояние реальной вселенной ;)

Цитата:
Originally posted by AlexandrVSmirno
[COLOR=blue]Теперь по поводу Вашего определения языка программирования.
...
...
Nero кстати тоже не удовлетворяет понятию алгоритмический.

Вот в кратце мои мысли на этот счет.

ЗЫ: Еще один интересный факт. Попытка создать разговорный язык, удовлетворяющий условиям непротиворечивости не увенчалась успехом, но привела к созданию языка Эсперанто.[/COLOR]

Очень хочется поспорить, но, как видно, не удастся. Так давно не оперировал такими терминами, что уже не знаю, чем отличается третья БНФ от второй, первой и сколько их там ещё :(

Поэтому принимаю предложение по изменению определения. Пусть языком программирования будет только формальный и непротиворечивый.

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

Согласен также и с предлагаемым разделением языков на

  1. неформальные
  2. формальные нечеловеческие
  3. алгоритмические (ясно, что формальные)
  4. Nero (не знаю, куда его отнести, потому что никогда о нём не слышал :()
К (2) отнесём те, которые предназначены для общения с машиной. В их числе HTML и SQL. Программу на них не напишешь, хотя и предназначены они для программистов.

Единственное, с чем я не согласен, это с именованием (2) языками программирования. Пусть они называются лучше нечеловеческими. Тогда моё определение (теперь уже не только моё) будет таким:
Язык программирования — это формальная непротиворечивая конструкция для описания вычислимых алгоритмов.
(Вычислимым алгоритмом будем считать такой, который завершается в конечное время.)

Ну, а для языков типа (2) это будет так:
Нечеловеческий язык — это формальная непротиворечивая конструкция для описания чего угодно, но только не алгоритмов.

Тогда (2) и (3) вместе составляют множество формальных непротиворечивых конструкций.

Вот теперь можно и свой язык сочинять. Хочешь — asm++, а хочешь — English--. Займусь на досуге :)


PS Когда создавался Esperanto, теория формальных языков ещё не была разработана, поэтому доктор Zamenhof не имел в виду непротиворечивость. Просто хотел искоренить профессию переводчика. Не любил он их почему-то :D
259
17 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by sq_deep
Мне тоже нравится. Я бы только выбросил слово "виртуальную". По-моему, даже раздумие об алгоритме влияет как минимум на распределение токов в голове, т.е. на состояние реальной вселенной ;)

Поэтому принимаю предложение по изменению определения. Пусть языком программирования будет только формальный и непротиворечивый.

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

Согласен также и с предлагаемым разделением языков на
  1. неформальные
  2. формальные нечеловеческие
  3. алгоритмические (ясно, что формальные)
  4. Nero (не знаю, куда его отнести, потому что никогда о нём не слышал :()
К (2) отнесём те, которые предназначены для общения с машиной. В их числе HTML и SQL. Программу на них не напишешь, хотя и предназначены они для программистов.

Единственное, с чем я не согласен, это с именованием (2) языками программирования. Пусть они называются лучше нечеловеческими. Тогда моё определение (теперь уже не только моё) будет таким:
Язык программирования — это формальная непротиворечивая конструкция для описания вычислимых алгоритмов.
(Вычислимым алгоритмом будем считать такой, который завершается в конечное время.)

Ну, а для языков типа (2) это будет так:
Нечеловеческий язык — это формальная непротиворечивая конструкция для описания чего угодно, но только не алгоритмов.

Тогда (2) и (3) вместе составляют множество формальных непротиворечивых конструкций.

Вот теперь можно и свой язык сочинять. Хочешь — asm++, а хочешь — English--. Займусь на досуге :)


PS Когда создавался Esperanto, теория формальных языков ещё не была разработана, поэтому доктор Zamenhof не имел в виду непротиворечивость. Просто хотел искоренить профессию переводчика. Не любил он их почему-то :D


Вы меня убедили. Принимаю Вашу аксиоматику. Вобщем не суть как назвать. Вобщем и среди теоретиков единства нет. Кто считает HTML,XMl,SQL- языками программирования, а кто и нет. Давно бы надо было все как то упорядочить. Единственно где я не согласен это по поводу конечного времени. Ведь существуют алгоритмы автоматизации непрерывных технологических процессов. Я понимаю, что реально они конечны, но по своей природе все таки бесконечные.

ЗЫ: на счет asm++, не знаю, а вот English-- с удовольствием присоединюсь :D. Я как Zamenhof его почему то не люблю :{

243
18 мая 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Dart Bobr
Вы все где в ПТУ учились?
----------------------------------
Короче, я больше не общаюсь на эту тему с начинающими програмистами.


Низкий поклон и вечная память вам маэстро! :D:D:D
Признаюсь: все мы тут банда ламеров которые великому человеку мозги пудрят! Позор нам! :D
А вообще - мои аплодисменты: так знатно веселить публику могут не многие.
В таком состоянии неплохо бы на курорт съездить - там где белые одеяния выдают с рукавами до полу.
ЗЫ: Интересно, а че так долго не отвечал? Обдумывал в деталях свой генеальный пост?
ЗЫЗЫ: Ты студент чего? Может Green угадал?

10K
18 мая 2005 года
heaven
9 / / 10.05.2005
AlexandrVSmirno не переживайте вы пожалуйста за автора, автор не забыл что он создал такой интересный топик. Я еще новичек, заполняю свой вакуум в голове, к тому же у меня появился грандиозный проект, кстате благодаря многим писателям этого топика!!! Огромное спасибо!!!
Наверное у меня такаежа фамилия как у вас...
;)
255
18 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
Если кому-то смешно, то это диагноз.
Я с 8 класа по 2 курс програмил на всякой дельфовщине. Мне это НАДОЕЛО! Если комму-то не нравится асма, то меня не е$#%. Пишите хоть на глиняных дощечках, со встроеными компиляторами. Я высказал свой ИМХО: Програмер без асмы - не програмер. Если кто-то обламывает макровири ручками, то что я могу про него сказать: Гонит он, можно проще. А то что написано на асме на совесть просто обломать не получится в ручную, даже самому охреновенному програмеру на С.

Сапожник? Все же лучше чем ПТУшник. А если интересно - в моем городе один универ, и узнать можна за нефиг на кого я учусь.

Не нравится мат? А мне пофиг. Могу тебе фильтр от матов написать и продать. Будешь юзать и мата в нете не увидишь :)). Обновление и поддержка через Интернет. Прога будет С-шная и требовать 600 метров патчей, который прийдется качать. Хе-хе(покатываясь со смеху со стула).

Печать Баала лечится? Не понял, есть антимайкрософтовский патч ? :))
255
18 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
А в Воркрафт мне не с кем играть. :) А через нет дорого :((.
243
19 мая 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by heaven
AlexandrVSmirno не переживайте вы пожалуйста за автора, автор не забыл что он создал такой интересный топик. Я еще новичек, заполняю свой вакуум в голове, к тому же у меня появился грандиозный проект, кстате благодаря многим писателям этого топика!!! Огромное спасибо!!!
Наверное у меня такаежа фамилия как у вас...


Можно поинтересноваться, что за проект задумали делать?

Цитата:
Originally posted by Dart Bobr

Не нравится мат? А мне пофиг. Могу тебе фильтр от матов написать и продать. Будешь юзать и мата в нете не увидишь ). Обновление и поддержка через Интернет. Прога будет С-шная и требовать 600 метров патчей, который прийдется качать. Хе-хе(покатываясь со смеху со стула).


Эта тема - источник хорошего настроения: почитал с утра, и весь день весело! :) Зря я пытался раньше времени откреститься от этой ветки - можно потерять очень много положительных эмоций.
Dart Bobr - может приведешь пример программы работающей в инете и написанной на асме? или еще лучше - пример программы, требующей 600 метров патчей. Даже виндовых патчей у меня менее 10-ти Мб (не путать патчи с обновлениями!), хотя я ее обновляю как только появляется возможность. И опять-таки, выша точка зрения: "БГ - мастдай!" А что же тогда рулез? :D Не собираюсь спорить на эту тему, мне интересно твое имхо.
ВЕЛИКИЙ Dart Bobr - поведай нам оптимальный способ борьбы с макровирями, естественно, если это не антивирусные программы.

Цитата:
Originally posted by Dart Bobr

Я с 8 класа по 2 курс програмил на всякой дельфовщине. Мне это НАДОЕЛО!


Надоело я так понимаю потому что нифига путевого не получалось. Отсюда еще вопрос: не пробовали обследовать свои руки при помощи такого инструмента как транспортир и ему подобные приборы для измерения угла искривления?

Цитата:
Originally posted by Dart Bobr
А в Воркрафт мне не с кем играть. А через нет дорого


Ну и не играй. Ни кто еще от этого не умирал. Лучше послушай классическую музыку.

255
19 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
Я ж блин и говорю, асма вместо всего :). А еше лучше TASM или WASM или FASM. Пусть БГ локти кусает.
А вот ненадо говорить что у меня ничего не получилось за столько лет погаминга на дельфах и всякой прочей хрени. Я между прочим имею всеукраинский диплом, за свой прожект (кажется я тогда архиватор писал). Только дельфи, с - это все фигня. Скажем есть куча задач, для которых целесообразно только асму юзать. И эти задачи самые интересные :).

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

10мб. патчей? Слабо. Найи к примеру игрушку Last Days of Gaia(точно не на асме написаная). Чтоб ее финальный релиз заработал нужен патч на 150 метров - распаковывается в 2 гига. А проги, писаные на асме короткие, и за 8 лет я не встретил реально глючащих. Нет, это не в языке дело. Дело в том, что програмист на асме думает лучше и сотавляет более эффективные проги, чем програмист на С. Отсюда вывод - асма полезная и необходимая для мозгов, а прочая дельфовщина - создают иллюзию програмирования. Это мое ИМХО.

S_T
Инструкция loop проверяет флаг cx на 0. Если истинно то переход на метку и умменьшение cx. То-есть это инструкция условного перехода.
255
19 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Green
Твою одержимость и максимализм, а также невежество оправдывается твоей неопытностью.
Но вот твое хамство ничем не оправдывается.
Когда у человека не остается аргументов он переходит на мат, а это вышлядит ещё менее убидительно. По твоим последним постам я могу предположить, что ты студент института сапожников.

"Юпитер, ты злишься? Значит, ты не прав."


Бесспорно ты крут. Только мне до лампочки то что ты мне тут нпостил.

831
19 мая 2005 года
S_T
117 / / 23.10.2002
Цитата:
Originally posted by Dart Bobr
S_T
Инструкция loop проверяет флаг cx на 0. Если истинно то переход на метку и умменьшение cx. То-есть это инструкция условного перехода.


Во-первых, cx - это не флаг. Во-вторых, если cx=0 "истинно", "то переход на метку и умменьшение cx" как раз не происходит. А происходит так: уменьшение cx на 1, затем проверка равенства cx нулю. И если cx != 0, то произовдится переход на указанную метку. Так что прежде чем доказывать крутость языка ассемблера - выучите его получше (и не делайте таких простых ошибок).
Оператор

 
Код:
do
{
   операторы
}
while (предикат)

Тоже, знаете ли, проверяет "предикат" на равенство нулю. Если это не так, то переходит на начало (скажем так, "метка" do), а если это так - то такого перехода не происходит.
Не правда ли, очень похоже на логику работы loop. Ну а оператор
 
Код:
for (список выражений1; предикат; список выражений2)
{
    операторы
}

В одной из своих модификаций ("список выражений1" - пуст) - тоже очень похож на loop (за исключением того, что for - оператор цикла с пред-условием).
И при этом и while и for являются операторами цикла.

Конечно, же loop (в результате огромной гибкости языка ассемблера) можно использовать множеством других извращенных способов, где он естественно не будет являться оператором цикла (с точки зрения языков более высокого уровня, таких как C). Но это совершенно не значит, что loop не является оператором цикла.

И, все-таки, "условный переход" - это переход при выполнении того или иного условия. А loop не выполняет перехода при выполнении того или иного условия. Loop уменьшает значение cx на 1, проверяет условие (cx!=0) если оно истинно, то производится переход. Заметили принципиальную разницу с "условным переходом"? Наличие дополнительных действий (кроме проверки условия и собственно самого перехода) в "условных переходах" НЕ подразумевается.
Кстати, rep - сокращенный и видоизмененный вариант loop... И его уж не как "оператор цикла" использовать по-моему нельзя.

И, если уж на то пошло, все началось с Вашей фразы
Цитата:
В асме тоже нету оператора цикла, только условного.безусловного перехода


В "асме" вообще нет операторов. Есть только инструкции. А понятие "оператор" появляется только в языках высокого уровня (хотя я могу и ошибаться в этой терминологии). Так вот инструкция loop была введена для упрощения создания циклов. Ведь loop очень просто можно заменить связкой из двух инструкций:

 
Код:
loop_start:
  ....
  sub cx,1
  jnz loop_start
  ...

Правда этот вариант влияет на значения флагов, в отличие от команды loop, которая фалги не меняет.
243
20 мая 2005 года
pacific_7
1.9K / / 06.09.2004
Наконецто! Dart Bobr принял более-менее спокойный вид! Я за тебя рад.
Цитата:
Originally posted by Dart Bobr
Я ж блин и говорю, асма вместо всего :). А еше лучше TASM или WASM или FASM. Пусть БГ локти кусает.


Гы! Я вообще-то спрашивал про ОС. Т.е. вопрос остается в силе.

Цитата:
Originally posted by Dart Bobr

А вот ненадо говорить что у меня ничего не получилось за столько лет погаминга на дельфах и всякой прочей хрени. Я между прочим имею всеукраинский диплом, за свой прожект (кажется я тогда архиватор писал).


Как однажды сказал незабвенный Green: "давайте письками меряться!"
Думаю тут немало людей, которые имеют и дипломы и прочую бумажную дребедень.

Цитата:
Originally posted by Dart Bobr

Способ борьбы с макровирями? Самый простой способ - отключить макросы X)- .


Интересно, а если ты админ на крупном предприятии и например возьмешь и повырубаешь макросы бухам. А может они ими активно пользуются? Если так судить, то лучший способ борьбы с вирями вообще - это не включать компьютер. ИМХО: это не метод.

Цитата:
Originally posted by Dart Bobr

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


Тебе привести ссылку на сайт с исходником простенького антивиря написанного на Си? Между прочим лечил от cih95, а не от макровирей. И ничего сложного в нем нет. Нужно только хорошо знать формать РЕ-файла. Где-то на uinc.ru валяется, если сильно надо, то могу найти.

Цитата:
Originally posted by Dart Bobr

10мб. патчей? Слабо. Найи к примеру игрушку Last Days of Gaia(точно не на асме написаная). Чтоб ее финальный релиз заработал нужен патч на 150 метров - распаковывается в 2 гига.


Во-первых: игрушкам не фанатею и поэтому не знаю таких сокрушительных подробностей. Во-вторых: игрушки, это не есть серьезные программы. И в третьих: помоему нет больших игрушек написанных на асме.

Цитата:
Originally posted by Dart Bobr

Нет, это не в языке дело.


"The true is out there" :) Наконец мы к этому подобрались! Не в языке дело.

Цитата:
Originally posted by Dart Bobr

Дело в том, что програмист на асме думает лучше и сотавляет более эффективные проги, чем програмист на С. Отсюда вывод - асма полезная и необходимая для мозгов, а прочая дельфовщина - создают иллюзию програмирования. Это мое ИМХО.


Где-то ты прав. Лично знаю людей которые умеют делать сногсшибательные программки на делфах: текстовый редактор - чуть лучше notepad; нечто вроде БД на основе таблиц Paradox7 и прочие "суперпрограммы" и при этом считают себя хорошими программистами.
И естественно таких людей больше, чем людей способных написать действительно стоящую вещь по одной простой причине: делфы - визуальная среда программирования вдобавок реализованная на Паскале. С ее основами может разобраться человек далекий от понимания работы компа, ОС, принципов программирования вообще, и при этом писать работоспособные приложения.
В итоге получаем массу "программистов" которые даже понятия не имеют об основах работы той платформы, для которой они пишут свои произведения. Вот тебе и причина "высокой" надежности и производительности многих делфовых программ.
Если найдуться протестующие, могу привести яркий пример: есть довольно-таки известный чат для локальной сети под названием TChat (Tales Chat).
Писан на делфях. Название их сайта не помню, но кому нужно - найдет сам через поиск.
Это просто сборник глюков и багов. А уж о стиле программирования и говорить страшно. Видел я его исходник (знакомый с их сайта качал) - в том исходнике наверно строчек 10 комментария на весь проект. Неудивительно, что так глючно работает - разобраться в том, что там накатано без комментариев, нет никакой возможности.
И ошибки примитивные есть (примитивные - слабо сказано), которые авторы не могут ни как исправить - сами признавались.
Dart Bobr - надо уметь различать подобных "программистов" от начинающих и настоящих программистов.
Иллюзию программирования создает не язык, или среда, а человек который не умеет это делать.
Ну а в том, что асма - вещь полезная, так никто и не сомневался.
ЗЫ: ты так и не привел пример интернет-приложения написанного на асме. Боюсь что таких очень не много.

255
22 мая 2005 года
Dart Bobr
1.4K / / 09.04.2004
S_T
То что cx - регистр, а не флаг, это ты прав. (На бухую башку я могу сказать еще и не такое). Но на мой хлопский розум это все равно инструкция условного перехода, а не цикла :). Предлагаю задачу - написать цикл на асме без перехода на метку (плохой стиль програмирования :). Знаю, щас скажешь - Любой цикл компилируется в код, в котором есть переход на метку. В понимании нормального человека, не вдающегося в подробности компиляции, юзанье цикла - хороший стиль програмированияб а метки - плохойю Не видит человек метки в циклеб и думает что нету ее. А в асме нет таких "замаскированых" циклов. Все есть метки. Значит и все организованые циклы в асме - организовываются уже с помощью не оператора цикла, а оператора перехода на метку.).

Вынужден не согласится, в асме есть операторы... в виде написаных макросов. Там же есть и оператор цикла, но такая хрень есть только, насколько я знаю в хатчевском masm32.

pacific_7

ОС - Free BSD.
Прикольно, ты будешь мерять :). Я не про-то что я такой пиздец модный, а про то что я чего-то достиг, и у меня есс-но есть бумажка :). Бесспорно здесь народу с такой и кручей хренью скорей всего дохрена. Но не надо, не зная говорить про меня всякое г.....

Для полных лохов админов как раз и существует редиска - Касперский. Позволю себе процитировать Z0mbie: "г-н Касперский лижет жопу только
Биллу Гейцу. г-ну Касперскому пытается полизать некий г-н Каримов, но
каспер ловко уворачивается." А нормальный админ настроит нормально файрвол и список доверительных узлов. Да и вообще не даст по всяким порно сайтам с вирусами лазить.

CIH найти сейчас - что два пальца обоссать. Попробуй проемулировать какой-нить код. Да, это возможно на С. Но такую С-прогу простенькой у меня язык не поворачивается назвать.

Инет приложения написать возможно и на асме через CGI (у меня друг как-то такой фигней страдал). Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.
3
23 мая 2005 года
Green
4.8K / / 20.01.2000
"Смешались в кучу люди, кони..."

Dart Bobr, ты опять несешь разную околесицу, мусор... поэтому и от топиков твоих попахивает выгребной ямой.

Цитата:
Originally posted by
а про то что я чего-то достиг, и у меня есс-но есть бумажка :).


Ну так и воспользуйся своей бумажкой по назначению... Уточнить?

Цитата:
Originally posted by
Позволю себе процитировать Z0mbie:


Ты бы лучше процитировал Бека, GoF, Фаулера...

Цитата:
Originally posted by

Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.


При чем тут Делфи?

243
23 мая 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Dart Bobr

ОС - Free BSD.


Безусловно, эта оч. хорошая ось написана на асме ;) Ведь нет! А чем тогда она лучше тех же виндов, если не брать в качестве сервера, а в качестве настольной ОС для простых юзеров которым вовсе не интересно что такое ядро и какой модуль надо добавить (и как это сделать) если у тебя по умолчанию не работает USB.

Цитата:
Originally posted by Dart Bobr
Прикольно, ты будешь мерять :). Я не про-то что я такой пиздец модный, а про то что я чего-то достиг, и у меня есс-но есть бумажка :).


Решительно не понял к чему, но про бумажку - согласен с Green'ом.

Цитата:
Originally posted by Dart Bobr
Да и вообще не даст по всяким порно сайтам с вирусами лазить.


Честно говоря - долго ждал, когда ты приведешь этот довод. Когда то я сам примерно так думал. А теперь внимание! Читаем здесь: http://www.securitylab.ru/54395.html Ну как? И куда денешься если попадешь в такую ситуацию?
И не следует забывать про такую вещь как флоппи и CD. Или ты это все предлагаешь отключить?

Цитата:
Originally posted by Dart Bobr

Да, это возможно на С. Но такую С-прогу простенькой у меня язык не поворачивается назвать.


Я думал, что ты неплохо знаешь как устроены классические (знаменитые) вирусы. Если бы так, то ты бы знал, что ничего сложного в этом нет. Кстати, чем писать на Си сложнее чем на асме? В Си присутствует полный набор битовых операций и возможен произвольны доступ к любому биту данных. Пример: http://www.uinc.ru/articles/35/ - там описана "лечебная" функция. Остается написать функцию обхода дерева каталогов (что не есть сложно) и запускать функцию-лечилку для каждого каталога. Вся программа при этом поместится на 3 экрана. Самое сложное здесь - хорошо знать РЕ-формат файла. Сложно? Или ты хочешь сказать, что на асме будет более просто и знать нужно меньше? Помоему нет (и не только помоему).

Цитата:
Originally posted by Dart Bobr

Инет приложения написать возможно и на асме через CGI (у меня друг как-то такой фигней страдал).


Вот-вот: фигней.

2
23 мая 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Dart Bobr
S_T
Для полных лохов админов как раз и существует редиска - Касперский. Позволю себе процитировать Z0mbie: "г-н Касперский лижет жопу только
Биллу Гейцу. г-ну Касперскому пытается полизать некий г-н Каримов, но
каспер ловко уворачивается."


позволю себе заметить, что Касперским антивирусом пользуется оч. малая часть админов :)
ЗЫ: кто такой Z0mbie? :)

Цитата:
Originally posted by Dart Bobr

А нормальный админ настроит нормально файрвол и список доверительных узлов. Да и вообще не даст по всяким порно сайтам с вирусами лазить.


а ты работал админом? откуда такая уверенность, как будет делать нормальный админ?

Цитата:
Originally posted by Dart Bobr

Понимаешь, вся идея в том, что человек никогда не будет системным програмистом не зная асмы. Но может быть прикладным, не зная Дельфи.


ты вообще адекватен? тебе уже несколько раз сказали, что знать асм любой нормальный программер должен (и не только системный). но писать исключительно на асме - бред.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог