Языческие разборки.

 
1 2 3 4 5 6 7 14
Вале>>Вопрос про то, чему равно 1==1==1 интереснее... :Д

imho, oshibke :) boolean sravnivaete s integer. Hotya ya na C odvol'no davno ne pisal, u vas tam arbuzy==krokodily chasten'ko TRUE :)
 
US Реконструктор #20.09.2001 17:14
+
-
edit
 
асонеофус>Вале&гт;&гт;2 МиГ: - за дурачка держишь ;)
асонеофус>Вале&гт;&гт;лонг(пОбй) != 0 ...
асонеофус>Вале&гт;&гт;И, ПМСМ, совсем не факт, что на любой 32 бит платформе лонг(НУЛЛ)==0. :)
асонеофус>Вале&гт;&гт;Вопрос про то, чему равно 1==1==1 интереснее... :Д
асонеофус>МиГ&гт;Другие мниения?
асонеофус>А в чём спо-то? Лонг - два инта :) , а какая платформа - стока и битв понасыпано... А чтоб неясностей не было, пользуйтесь расширенными типами :еек:
асонеофус>А (ноль) - это даже не от проца завист, а от ОСьки, к примеру

асонеофус>в КСМС-ОС (16р процы, риск) (Ноль) == 0кс0А0Д :Д
асонеофус>Поэтому везьде и рекомендуют: пользуйтесь объявленными... а не фактическими значениями, для переносимости... :)

асонеофус>а условие 1==1==1 (двойные равно) даёт ТРУЕ, т.е. 0 :)

Ох, попроше нелзя? Просто отвечайте - "нет разницы" или "разницы такие и такие"
 
RU asoneofus #20.09.2001 17:21
+
-
edit
 

asoneofus

старожил


MiG>Ох, попроше нелзя? Просто отвечайте - "нет разницы" или "разницы такие и такие"
Ты о чём это? :)

Склероз, болезнь всех программеров, видно заразился... :biggrin:
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."  
RU asoneofus #20.09.2001 17:51
+
-
edit
 

asoneofus

старожил


Си и Си с крестиками Анзированы, но не ГОСТированы...
Опять-таки, при чём надёжность языка? Дело в инструментарии, а не языке (по крайней мере в настоящее время УЖЕ так)...

А вопрос насчёт кол-ва строк некорректен. Что считать строкой?

5 млн строк...??? Это не Г.Б. автор?, типа, описание всего сущего... :)
Хотя... в КДЕ 3 миллиона строк исходников, ядро Линуха и основные модули до миллиона, ХФря - Два миллиона... Всё на Си и Си++ -
и нормально работает... ААА ещё куча всякого б-ла, на пару миллионов, такчто ИТОГО: 8 миллионов... И не висняк!...
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."  

Ch

втянувшийся
Самый лучший язык - это родной! :) Паскаль, русский...
Вон, многие бедолаги в Англии да в Америке родились, так всю жизнь и гнусавят, как сифилитики какие... :)
 
RU Наталья #20.09.2001 19:04
+
-
edit
 

Наталья

новичок
KRoN>Целых яблок останется ноль.

Вы считаете я его делила для того, чтобы мне ничего не досталось?! :(
Ну уж нет. :mad: Я его делила чтобы съесть хотя бы 0,5 этого яблока.
 

Igor

втянувшийся
Владимир>Разве С++ ANSI-рован?
asoneofus>Си и Си с крестиками Анзированы

ISO/IEC 14882 "Standard for the C++ Programming Language"
 
FR <Владимир> #20.09.2001 20:32
+
-
edit
 
=KRoN=>После "ANSI-рования" C++ новые военные разработки идут преимущественно на нём. И на Аду как-то... Не забили, но задвинули. Кстати, Forth тоже ANSI ;)

Разве С++ ANSI-рован? Про С99 слышал. Ада все-же надежнее С++.
Я не очень представляю себе работоспособную программу длиной в 5 млн. строк, как будет на JSF, написанную на С++. А на Аду задвинули скорее всего из-за дефицита Ада программистов.

Кстати, а у нас разве С не ГОСТирован военными вместо PL/1 ?
 

Zeus

Динамик

Наталья, ты прелесть! Правильно, надо учить этих обормотов хотя бы здравому смыслу :biggrin:

Народ, ну вы что?! Какие такие неявности? Итак, смотрите и запоминайте железное правило: деление косой чертой ("/") в Паскале ВСЕГДА дает дробный результат, независимо от типа операндов (ну, лишь бы не строки и указатели ;) ) Где вы нашли неоднозначности? Если хотите целочисленных операций, для быстродействия, скажем, пишите явно: div. Соответственно, потрудитесь подставить целые операнды или явно их обрежте. Паскаль как раз очень "явный" язык! Это в Си вы не знаете сразу (по одному только выражению), какой результат получится, надо искать где-то определение переменной (а, кстати, где? вы ж ее небось где попало прямо в середине кода объявили ;) ). Ну так где у нас неявности?
Столь долгую дискуссию по поводу простейшего выражения можно объяснить лишь незнанием языка, что не дает тогда права о нем судить.
И животноводство!  

TEvg

аксакал

админ. бан
>Если брать скорость написания - она прямо пропорциональна читабельности программ и обратно пропорциональна объёму вводимого кода - по обеим параметрам C++ удобнее.
Это для вас. Для меня begin end удобнее чем {}, а i:=i+1; удобнее чем i++

>Я уже молчу о таких мелочах, как описание переменных по мере их использования (за отсутствие такой возможности очень не люблю Паскаль).
Удобно на первый взгляд. Я когда пересел с басика на Паскаль жутко ругал за описание переменных язык и товарища Вирта и его родственников. Но потом понял что это удобно, особенно в больших или чужих программах.

>Кстати, не стоит умалчивать и о реализациях - сколько там типов строк в Delphi?
Ой много! shortstring, string, widestring, PChar.. да все и не упомнишь. Это конечно не есть хорошо, но вообще паскалевская строка для меня удобнее чем сишная с нулем.

>Кстати, более того - в новых ЯВУ имеется тенденция избавления от типизации переменных
Хе.. асм - язык совершенно свободный от типизации ;)

quote:

void main(void)
{
int a=2;
int b=3;
float c=1.0;
printf("%f",a/b+c);
}

 
За что мне Ся и не понравилась. :rolleyes:

куда лучше:

var a,b:byte;c:double;
begin
a:=2;
b:=3;
c:=1.0;
write(a/b+c);
end.

>Предсказуемый компилятор, претендующий на звание надёжного НЕ ДОЛЖЕН оперировать какими-то скрытыми переменными и выполнять неявные операции.
Может быть, но компилятор OP действительно надежен.

>Будете состязаться со мной в скорости кодирования? Я на сях, Вы на асме. Не советую - Вам только по клаве насколько больше стучать.
Железо лучше программить на асме! Отладка в 1000 раз легче, ведь все работает так как программер написал, а не как компилятор.

>Возможность прочтения чужого кода (занимался я и такой гадостью, как прочтение чужого асмового кода, и перевод его на С для модификации). Модифицировать чужой асмовый код - это далеко не каждый способен. А сишный - даже студенческие поделки вполне читаются.
Для меня все наоборот. Помню как я разбирал железный софт на сях - бррр.. :mad:
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Ch>Разные типы строк в Паскале - это только для совместимости с СИ (и Виндоуз).

Это только один(!) новый тип строк.
Ещё остаётся как минимум три :biggrin:
Зачем??
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Zeus>Да, кстати, интересный вопрос. Моя строка на ОР обычно соответствует 2-3 сишным ;)

А можно примеры и того и другого, а?
Ну мне правда интересно, где это OP компактнее C++ выходит, да ещё в два-три раза!

Zeus>Особенно если сравнивать с теми, кто любит единственные { в отдельные строки выносить ;)

Я люблю.
Или ты хочешь сказать, что ты begin/end в одну строку лепишь?

Zeus>Да, я уже чувствую грохот бочек и предложения перевести на паскаль что-нибудь вроде b^=a^=b^=a;

Да нет, ты из практики приведи!
Да так, что в два-три раза! :)

Zeus>а во-2, сишникам, чтобы разобраться в нагромождении всяких разных символов {a++||z+=3} :) приходится обильно разбавлять их пробелами и пустыми строками,

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

Zeus>так что вопрос, кому по клавиатуре больше долбить не так очевиден, как кажется

Это как раз очень просто - можно сравнить объёмы исходников типовых задач :)
 

Ch

втянувшийся
=KRoN=>Ещё остаётся как минимум три :biggrin:
=KRoN=>Зачем??

Цитата из приведённой мною выше статьи:
"Как мы можем работать со строками в Pascale:
как с массивом символов;
как со строкой (string);
как с указателем на массив символов;
как с указателем на строку".

Так вот, что касается массивов символов - это для СИ. Остальное - родное. Хотя массив, в том числе и символов, тоже родное. Всё родное. Хороший язык.
 

Ch

втянувшийся
Хотя, честно, со строками мало приходится сталкиваться... Всё больше с числами.
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Ch>Мнение простого программиста О языках программирования Паскаль и Си

Позволю себе провести некоторый анализ статьи :)
Во-первых, отношение к статье СРАЗУ сильно портит то, что размещавший информацию на сайте даже не удосужился ознакомиться с требованиями сервера chat.ru, где говорится, что файлы .html должны быть только в KOI8-R, а для Windows-1251 там применено расширение .htm. В итоге из Оперы пришлось вылезать, грузить IE и потом ещё ручками менять кодировку. В общем, если страницу выкладывал автор, то отношение к нему... несколько негативируется.

Но приступлю к статье...

>И сегодня Borland (ныне Inprise) продолжает всех радовать замечательными языками программирования: Borland Delphi, Borland C++ Builder, Borland Java Builder и др. Однако ведущим языком программирования вдруг становится Microsoft Visual C++.

Borland (кстати, снова Borland а не Inprise) уступил гонку MS выпустив совершенно бездарный компилятор BC4.x До этого времени он однозначно лидировал на рынке компиляторов (BC3.1 используется и сейчас!). Но версия 4.x ОЧЕНЬ сильно пошатнула его позиции. Тут во всей своей красе на рынок вышел Watcom со своим C++ 9.x и 10.x - вот это была сила... А потом подсуетилась и MS с VC4 - он при сопоставимой с Watcom эффективностью обладал на порядки лучшей средой разработки, так что Watcom тоже ушёл в прошлое. А Борланд, увы, с тех пор хорошего компилятора так и не сделал :( BC5/BCB/Delphi генерируют ужасный объектный код :( Так что это одна из немногих областей, где MS выиграла "честно" - просто выпустив намного лучший продукт.

>одним из условий стоял язык - Microsoft Visual C++. Почему не Borland C++ Builder, спросил я?

C++ Builder 1.x был только красивой игрушкой. Низкая эффективность компилятора, море ошибок в библиотеках, уродская документация... В общем, я на нём программировал очень много, но это была альтернатива VB, а не VC.

Кстати, эрудиция автора просто поражает. Ни Watcom C и Pascal, ни TopSpeed Pascal, ни Zortech C++... Он что, кроме Борланда и МС ничего не слышал? Тогда как он может оценивать? Впрочем, дальше...

>с целью извлечения максимальной прибыли [...], например настройки принтера в Microsoft Windows 98.

No comments...

>В Pascal существуют понятия головной программы, процедуры и функции. В языке C все это вместе взятое есть функции и требуется написание программы подгонять под это понятие. Однако, головная программа, процедура и функция - не есть одно и то же. Структурно Pascal вне сомнения оформлен лучше.

А если я хочу вызывать программу авторекурсивно? Писать костыли в видел отдельной функции? И чем идеологически (особенно, учитывая процедуру запуска программы) главная функция отличается от любой другой?

>вы попробуйте взять и написать программу на этих языках, которая из строки 'Иванов Иван Иванович' выделит 5-6 и 10-13 символы и сложит их вместе (ответ: 'ован И'), и обязательно положите рядом часы. На Pascale программист на эту программу затратит не более 5-ти минут, а вот на C значительно больше

Тип CString уже отменили?
И вообще, в Си/Си++ нет строк!
Есть массивы символов.
А для строк есть стандартные библиотеки.

>вы попишите программы для работы со строками на Pascale и С. Уверен, что сравнивать вам больше не захочется

Это точно. Т.к. для работы со строкми есть Perl. Ну-ка, сколько Паскаль (и Си) будут мучаться с простой задачей - всюду в тексте заменить дату вида mm-dd-yy yf dd.mm.yy? На Perl - s/(dd)-(dd)-(dd)/$2.$1.$3/g; Не нужно сравнивать между собой языки в тех вещах, где они не сильны ;)

>Далее, в языке С отсутствует интервальный тип данных

А как в Паскале работать с ассоциативными массивами?
Я имею в виду теоретические удобство и возможность?
На C++ я делал так:
assoc ages;
ages["Петя"]=15;

Ну-ка, Паскалисты? :)
(Я уже молчу про стандартный тип complex - это просто удар по Паскалистам ;) )

>Результат выполнения программы: c=2.441406
А правильный результат: с=1.000000
Заменив первую строку тела программы на строку

double a,b,c,t1,t2,t3;
мы получаем правильный результат: с=1.000000

Господи, а при чём тут Си??

>Элементы массивов в языке Си нумеруются, начиная с 0. Это - мелочь, но удобным это назвать никак нельзя. Каждый программист сталкивался с ошибками, возникающими из-за нумерации с нуля.

Более ламерское, извините, заявление трудно придумать :)

>//Пример на Си:
int x[4]={0,2,4,6}, *i, y;
i=&x[0]; //i равно адресу элемента x[0]
y=*i; //y равно 0; i равно &x[0]
y=*i++; //y равно 0; i равно &x[1]
y=++*i; //y равно 3; i равно &x[1]
y=*++i; //y равно 4; i равно &x[2]
y=(*i)++;//y равно 4; i равно &x[2]
y=++(*i);//y равно 6; i равно &x[2]
Этот пример хорошо иллюстрирует введение абсолютной путаницы в элементарных вопросах программирования.

Этот пример демонстрирует поразительно низкий уровень программирования автора обзора на Си. Это азы и путаться в них - это значит просто не знать языка.

>Именно поэтому в некоторых языках программирования указатели отсутствуют вообще, например в Java Script.

Зато там есть куда более опасная конструкция - символические ссылки.

>Работа с файлами в Паскале организована проще, понятнее, все разложено по "полочкам", а программисту остается для написания фрагментов программы затратить минимум времени.

Ни Паскаль ни Си не ориентированы на файловую работу, так что и сравнивать их тоже некорректно по этому параметру. Сколько кода и там и там уйдёт на примитивную задачу перестановки строк файла в обратном порядке? А вот на PHP:
fwrite(fopen("out.txt","w"),reverse file("in.txt"));
или на Perl (подлиннее, но понагляднее):
open FILE, "in.txt";
@strings=<FILE>;
open FILE, "out.txt";
print FILE reverse @strings;


>Программируйте на том языке, какой Вы выбрали. А критерием оценки может служить только законченная программа.

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

Не показательный пример ;)

Гораздо показательнее другое.
Я знаю много программистов, которые перешли с Паскаля на Си (в период до 1995-го года, когда это невозможно ещё списать на бОльшую популярность Си++) и только одного который сделал обратное. Вот это, по-моему, очень показательно. А тот, кто работал и работает на чём-то одном всегда будет хвалить то, чем пользуется :)
 
RU Наталья #20.09.2001 22:45
+
-
edit
 

Наталья

новичок
Zeus>Наталья, ты прелесть!
О! :)


=KRoN=>...но эта идеология простирается дальше и приводит к разным типам строк...
А что, собственно, в этом плохого?
=KRoN=>А в конечном счёте к учёту половинки яблока как целого... ;)
Клевета, половинки мы учитываем только как половинки.
И не пытайтесь, после того как я отдам Вам половину СВОЕГО яблока, убедить меня в том, что у меня все равно осталось целое! ;)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Ch>Цитата из приведённой мною выше статьи:
Ch>"Как мы можем работать со строками в Pascale:
Ch>как с массивом символов;
Ch>как со строкой (string);
Ch>как с указателем на массив символов;
Ch>как с указателем на строку".

Даже в Borland C++ Builder'е с его TString можно с одним типом делать всё это. Почему же в Си++ обошлись одним типом для строки, а в Паскале так не сделать? :)
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Наталья>И не пытайтесь, после того как я отдам Вам половину СВОЕГО яблока, убедить меня в том, что у меня все равно осталось целое! ;)

О, женщины! Переспорить вас ну никак невозможно! У вас своя логика! :biggrin:
 

Zeus

Динамик

=KRoN=>Странный какой-то у вас здравый смысл.
=KRoN=>Лично у меня, если я порежу яблоко на две половинки целых яблок будет ноль. Может я во Вселенной с другими законами живу?

А с чего ты ожидаешь, что результат будет целым? При делении результат получается дробным - это закон математики. Ему Паскаль и следует. А целочисленное деление - операция техническая (в смысле, инженерная), и применять ее надо целенаправленно.

=KRoN=>Поэтому Паскалю приходится вводить кучу сущностей типа разных видов деления... Это, на самом деле хорошо, но эта идеология простирается дальше и приводит к разным типам строк, например... А в конечном счёте к учёту половинки яблока как целого... ;)

Ну что за фигня? Все с ног на голову. Это как раз Си пытается учитывать половинки яблока как целые! Причем вам он об этом не говорит! И не вижу связи между разными видами деления и разным типам строк...

Так, кстати, о строках. Видимо, надо прояснить ситуацию. Про обычные паскалевские строки всем понятно - макс. длина 255, байт длины в начале; ну и вообще, достоинства/недостатки по ср. с null-terminated. А вот что касается новый типов... Борландовский ОР апгрейдил старый паскалевский тип, сделав указатель длины 4-байтным, что позволило иметь строки до 4Гб длиной (кстати, проскакивал тут вопрос об этом), и еще сделала (ну, разумеется, с такой длиной) автоматическое динамическое их размещение. (Там еще мелочи есть типа reference counter, ну да неважно). Само это (авто-динамическое размещение) ужасно удобно, но если этого не осознавать, могут быть большие тормоза. Опять же, вопрос профессионализма. Эти же строки вдобавок автоматически завершаются нулем, чтобы было удобно трактовать как Си-строки.
Ну и все! Что было еще добавлено: работа с Си-строками - для совместимости с Сями (причем больше это на уровне библиотек процедур типа StrCopy и т.п. и меньше на уровне компилятора). Сами по себе эти строки нафиг Паскалю не нужны, но это вынужденная мера. Такая же вынужденная мера - подвиды каждого из вариантов для unicode (двух- и однобайтовые символы), с введением, как полагается, дефолтного типа с платформо-зависимой длиной (как int[eger]), и строгих названий именно для одно- и двухбайтовых строк. Так что обилие типов строк отчасти вынужденное, а отчасти просто кажущееся ;)

=KRoN=>Мне кажется, что ты не читал то, что я писал вначале о восприятии...

Я как раз читал, но помню, что у нас уже была дискуссия по этому поводу... А вот ссылку ставить лень ;)

=KRoN=>В итоге из Оперы пришлось вылезать,..

А я в Опере спокойно прочитал... Статейка, конечно, так себе.

То, что М$ (прошу заметить - значок $ исключительно из лени переключаться на латиницу :) ) выиграла компиляторами более "честно", чем, скажем, с ОСами и браузерами - вполне согласен. Watcom я тоже до сих пор уважаю. Но все же, компилятор хоть и многое, но не всё сейчас.

Насчет примеров с Перлом и РНР - это, конечно, замечательно, но ясен пень, что специализированный язык справится лучше (скажем точнее, проще ;) ) А вот если мне надо, скажем, переставить местами первую и вторую половину файла, да еще параллельно убрать непечатные символы?

=KRoN=>Я знаю много программистов, которые перешли с Паскаля на Си (в период до 1995-го года, когда это невозможно ещё списать на бОльшую популярность Си++) и только одного который сделал обратное.

А меня посчитал? :tongue: Вообще "списать" можно уже года с 90-го, ИМХО...

=KRoN=>О, женщины! Переспорить вас ну никак невозможно! У вас своя логика! :biggrin:

А у сишников - своя ;)

P.S. Примеры завтра нарою - уже поздно, а мне вставать в семь утра :( Одно явно покажу: да, как минимум begin я пишу в одну строку с порождающим его оператором:

while (a<b) do begin
...
end;

(кстати, по сишной привычке все еще скобки после while ставлю ;)

И еще кстати: b^=a^=b^=a; как раз из практики. Ну-ка, сишники, догадайтесь, что здесь написано! Засекаю секундомер! :biggrin:
И животноводство!  
Владимир> ...prototype took significantly less time to develop and was considerably more concise and easier to understand than the corresponding prototypes written in several different imperative languages, including Ada and C++.

Vot gde govno zaryto! (pardon za leksiku)
Ya vam primer nedavniy privedu.
vstuplenie: na segodnya est' dva ispol'zuemyh HDL (hardware description language): VHDL i Verilog. Vmesto sporov chto luchshe oba prinyaty kak standart i oba podderjivayutsya odnovremenno i daje v smesyah (!!) razlichnymi sistemami razrabotki.
Nedavno povylazili vsyakie tipy, zayavivshie chto razrabotka chipov stanovitsya slishkom slojnoy dlya etih dvuh yazykov, i nado chto-to drugoe, a imenno C++ i daje Java. Kak oni ne vyejivayutsya i kakie dovody ne privodyat, eto nikogo PRAKTICHESKI (t.e. material'no) ne interesuet. Injeneram eto NE NUJNO, oni rabotayut s etimi dvumya yazykami i gorya ne znayut. Eto gvozd' perviy.
Mnogie vyejivayutsya po-drugomu, deskat' VHDL - slishkom slojniy, tipa eto Very Hard Description Language i ego daje vyuchit' trudno. Da, on bol'shoy i neprostoy, no on stroyniy, organizovanniy i s nim LEGKO RABOTAT'. Chtoby poluchit' jelaemoe, dostatochno prochitat' manual ot proizvoditelya sistemy o tom KAK sistema traktuet konstrukcii i KAK ey dat' ponyat' chto vam ot nee nujno. Eto izuchenie zanimaet neskol'ko dney, i potom podglyadyvaesh' tuda nedel'ku, a potom v tvoem rasporyajenii vsya mosh' HDLa i sistemy razrabotki.
Ya dopuskayu chto eto nekotorym trudno, no togda nujno peresmotret' svoi professional'nye popolznoveniya, mojet eto nepravil'niy vybor. Skol'ko takih "zameniteley VHDL/Verilog" prishlo i ushlo - net im chisla, i konca toje. Daje esli udastsya chto-to na nih "sklepat'", effektivnost' i skorost' budut pateticheskimi, chto do sih por i pokazyvaet praktika.

rezyume: uluchshateley chitabel'nosti i vremeni razrabotki za chet kachestva rezul'tata nel'zya na pushechniy vystrel podpuskat' k rabote. Inache budet vam mustdie na kajdom shagu, 2x2=3.9997, i "19100 god".

VHDL, kak i ADA - standart NASA i min.oborony v shtatah. naschet pervogo mogu skazat' - NE ZRYA.
Java i prochie orudiya proletariata - net.
 
=KRoN=>_Математика_ только одна. И она ничего не знает про вычислители ;)

Vot v etom ee prakticheskiy nedostatok :)
 

TEvg

аксакал

админ. бан
>Vot v etom ee prakticheskiy nedostatok
И достоинство.

А VHDL-рулез! Только людям с извращенным умом может придти мысль пихать в железо Java или VB.
Особенно меня умиляют слова - это сложно для разработчиков
 
+
-
edit
 

Voennich

опытный

Нда..
По моем тут была парочка очень правильных заявлений
1. Программист пишет на том на чем удобнее. (если пишет для себя)
2. Язык программирования выбирается из условий постановки задачи и наличия соответствующих программистов.

все остальное - большей частью спор аналогичный Intel vs AMD :)

2 Наталья (эээээх говорила мне мама не спорь с женщинами)

Позвольте Вам напомнить школьный (и не очень) курс математики.
Сначала изучаем только целые положительные числа (на примерах всяких яблок), далее дробные 1 2/3, далее узнаем что есть десятичные дроби (при этом никто не удивляется почему десятичные а не шеснадцатеричные), тут всплывает что числа то бывают еще и Отрицательные (кто бы мне объяснил как так может быть -3 яблока). Далее видим иррациональные т.е. не записываемые в виде a/b где a и b целые. После чего оказывается, что существуют еще и Комплексные числа(кто вообще в глаза этот корень из минус единицы видел а ?). Про то, что математика вообщето не одна и в некоторых из них рассматриваются понятия актуального нуля и актуальной бесконечности (т.е. что 0 это не 0 а просто очень маленькое число и аналогично с бесконечностью) я вспоминать не буду. В общим на яблоках совсем не все можно понять...
Так что если Вы делите 3 яблока на двоих то получите по 1 ЯБЛОКУ и еще по КУСОЧКУ яблока.
в общем если хотите получит 0.(6) то так и пишите 2.0/3.0

за сим откланиваюсь
 
Voennich>понятия актуального нуля и актуальной бесконечности (т.е. что 0 это не 0 а просто очень маленькое число и аналогично с бесконечностью)

EVRIKA! Vot pochemu pochta vydala "You are using -0.01% of your quota" - vidno zanyalis' etoy tematikoy vplotnuyu ;) Ili yazyk ne takoy kakoy-to? :biggrin:
 
+
-
edit
 

Valeri2

втянувшийся
Hi!

Хорошо спорите - приятно посмотреть.

Valeri2>>Форт умер лет десять назад, земля ему пухом.
=KRoN=>Это особенно удивительно, учитывая, что 6 лет назад в НИИТП целый проект спутниковой связи работал с Forth'ом :)

А медики вообще на латыни говорят. Но язык - мертвый. Что касается наших НИИ - так у нас в железо зашивали поддержку Виртовских поделок. Свой путь.

Valeri2>>Он идеально подходил для безадресных риск-процов, являясь для них по существу ассемблером.

=KRoN=>Не только. Что-то ближе DEC'овской архитектуры к нему сложно представить :) И для 68к он просто родной.

Да ну, бросьте. На дековской архитектуре родился язык Ц.

Valeri2>>Но стековые операции, видите ли, последовательны - они все завязаны на верхушку стека. И суперскалярность со стеком абсолютно не сочетается.
=KRoN=>Не уверен. Кроме того, есть куча реализаций с регистровой верхушкой стека. Базовые операции эффективно вписываются.

Так реализовывать стек можно как угодно. Но все равно - каждая команда учитывает результат предыдущей.

=KRoN=>Это во-первых. А во-вторых, сила Форта не в быстродействии.

Для того, чтобы затормозить процессор и делать любую задачу медленно, существуют более высокоуровневые языки. Форт - это как раз попытка сделать что-то простое и быстрое.

=KRoN=>Язык ОЧЕНЬ простой и ОЧЕНЬ предсказуемый.

Да ну. Простой тест - возьмите страницу (экран) текста (без комментариев) и гляньте "орлиным взором". На С++ или Паскале это кое-что дает, видна структура. Фортовую прогу надо разбирать по операции, и каждая операция зависит от предыдущих.
 
1 2 3 4 5 6 7 14

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru