LINUX.ORG.RU

Один из лучших компиляторов C++ для Linux прекращает существование


2

0

Один из лучших компиляторов С++ для Linux, KAI C++, прекращает свое существование с 30 апреля 2002 года, через два года после покупки Kuck & Accociates Inc. компанией Intel. 30 апреля будут прекращены продажи, поддержка и исправление ошибок в существующих релизах будут продолжаться до конца 2003 года. Технологии KAI будут интегрированы в компиляторы Intel. В настоящее время компиляторы Intel уступают KAI как по уровню совместимости со стандартом, так и по возможностям оптимизации.

>>> Подробности



Проверено:

Честно говоря мне уже кажется, что Antichrist несколько бредит (приемущественно матом), причем начал довольно давно, несколько месяцев назад.

Естественно, если для каждой конкретной задачи брать свой язык и компилятор, то код получится эффективней, быстрее, короче, проще. Вот только к сожалению придется узнать эти языки и сопутствующие библиотеки. Причем, естественно, хорошо, иначе опять-таки погано получится - зачем нам куча полных чайников, притом во всем?!

Замечательно, а знаете ли вы насколько отличается С от ассемблера, ассемблер от пролога, пролог от фортрана, а фортран от явы? Насколько эффективны одни операции в одном языке и неэффективны в другом? Так на любом интарпретируемом языке * и / - практически одно и то же, а вот на С - достаточно отличаются... При этом под каждый язык надо иметь std библиотеку... И знать ее, разумеется!

С другой стороны можно изучить один инструмент, но великолепно и пытаться применять его везде. Так вот утверждается лишь то, что при таком подходе - наиболее приемлимый для большинства задач и в то же время не неподъемно раздутый - С++.

anonymous
()
Ответ на: комментарий от Antichrist

> Блин, ну когда народ читать научится? Я же как раз и утверждаю, что >проблемы с компиляторами C++ проистекают только и исключительно из >гнилой сущности самого же C++. У более других языков подобных проблем 
>нет - их не левой пяткой по пьяни сочиняли, а как следует, по науке.


А чего читать то ? Ты уже постингов десять сделал про "гнилую сущность"
но как то не хочешь ее раскрывать - посылая к тухловатой критике древних
реализаций C++ да еще сомнительного (спорного) содержания

Ты можешь КРАТКО в ОДНОМ постинге описать "гнилость сущности" ?
По пунктам и желательно с примерами из практики  ....

anonymous
()

pojasni, na kakom urovne oo dekompozicija vredna?

anonymous
()

Нда, ну и тред, читать противно. А кто нидь из наездающих на плюсы пробовал в них разобраться? Видимо попытки были, но неудачные. Конечно, если пописывать дома програмки уровня Hello World то он не нужен. А вот если пытаться сделать "большой" (ну хотя бы 200000 строк) проект - то замучаетесь вы его на сях писать. Да и еще, среди тех кто наезжает профессионалы есть? Я имею ввиду деньги им платят за написание кода? Не платят? ну тогда меня их мнение не интересует. Слишком сильно напоминает анекдот про девушку у которой спросили "а какие машины вам нравятся" и в ответ получили "красные". В общем, завязывайте с этим детским садом и идите делом заниматься. -- С наилучшими, Nick.

bugfixer ★★★★
()
Ответ на: комментарий от anonymous

Ха. Бредишь как раз ты. Выдаёшь совершенно стандартную, быдловую проповедь безграмотности. Зачем учить арифметику - есть же калькуляторы! Зачем знать географию - есть извозчики! Знаешь, с дерьмом, которое мыслит подобным образом, мне говорить не о чем. Если человеку лениво потратить время на образование, которое потом многократно окупится, то не человек это, а быдло.

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

Antichrist
()

mozhet, problema ne v jazikah, a vsje-taki v otsutstvii dostatochnogo kolichestva gramotnih programmistov? a vot s tem, chto koderov tonni, a proektirovat' dazhe nikto uchit'sja ne hochet - eto deystvitel'no problema. ladno, spasibo za otveti i voprosi, pgcc i Joynera posmotrju. Udachi!

anonymous
()
Ответ на: комментарий от AC

Если именно с C++ - то да, это убожество крайне тяжело перевязать с другими языками. Ну так тут гораздо уместнее Си или Фортран.

А вот почему C++ может занять место Фортрана - я не понимаю. Для числодробильни ему до Фортрана, как до Китая раком, и никаких надежд на улучшение ситуации не предвидится.

Antichrist
()
Ответ на: комментарий от anonymous

Проблема не только в безграмотности большинства "программистов", но, всё же, ещё и в C++. Если бы раскручен был более другой язык, то от тех самых безграмотных программистов, что сейчас ваяют убогий, глючный код на C++, было бы значительно больше толку - им как раз нужны более строгие языки.

Antichrist
()
Ответ на: комментарий от Antichrist

2 Antichrist: >это убожество крайне тяжело перевязать с другими языками. Ну так тут гораздо уместнее Си или Фортран.
Фортран или С перевязывать ничуть не проще. Я имел в виду затраты на performance, да и общий геморрой. Пример -- жаба с ее пакостнейшим JNI.
>А вот почему C++ может занять место Фортрана - я не понимаю.
А он уже занимает потихоньку. Дело не только в числодробильности -- на C++ гораздо легче выражать сложные структуры данных, etc. чем на фортране. Плюс -- generic programming, правда, я не уверен, появилось ли это в новых реализациях. Плюс -- по перфомансу уже не сильно уступает фортрану. Хорошо параллелить тоже теоретически (и практически) можно. Короче, в таких областях, как, к примеру, computational geometry или motion planning, плюсам альтернатив почти нет.

AC
() автор топика

Da gde on raskruchen to? ves' razgovor to i nachalsja s togo, chto net do sih por kompiljatora, kotoriy bi na vse 100 podderzhivaet standart. A po povodu togo, chto est' zadachi, gde fortran podoydjet gorazdo luchshe c++ - nikto i ne sporit. Ti sam predlagaesh C kak variant. A ti znaesh, chem ot nego otlichaetsja c++? da hotja bi tem, chto nachav pisat' na c++ ja zabil, chto takoe debuggeri i kak ih zapuskat', potomu chto on polovinu oshibok ustranjaet eschje do compiljacii. Ja sozdaval proekti na C v 400000 strok i posle pervoy versii s nim nichego nel'zja bilo sdelat. Hotjabi po etim dvum prichinam vmesto C mozhno uchit' C++. Esli ti vidish chto to v c++, chto tebe ne nravitsja, togda ne ispol'zuy ego polnost'ju, prosto ispol'zuy ego kak "uluchshenniy C"

anonymous
()
Ответ на: комментарий от AC

Фортран и Си как раз привязывать весьма просто, во многих случаях даже биндинги писать не надо (и, соответственно, тогда даже оверхеда никакого вообще). Да и JNI - не такая уж и пакость. Оверхед минимальный. Тем более, проектировать надо так, чтоб лишних вызовов промеж модулями не было - тогда по фигу, через биндинги какие дёргаем, или вовсе через CORBA или ещё какой RPC.

Про числодробильню на C++ - всё же, на практике я не встречал ничего, что близко бы подходило к старым добрым Фортрановским библиотекам. Я слышал, что люди что-то пытаются делать, но именно *пытаются*, громких воплей о потрясающих успехах что-то не слышно было.

Ну а геометрия всякая - она и на Фортране неплохо выглядит, при правильном подходе. См. хотя бы на GEANT.

Antichrist
()
Ответ на: комментарий от anonymous

Естественно. Старожилы LOR и RU.LINUX должны помнить, что vsl AKA Mauhuur AKA Antichrist есть один и тот же человек.

Antichrist
()
Ответ на: комментарий от anonymous

Да вот, так и раскручен. Возьми любого ламера, спроси его, про какой кр00той язык программирования для настоящих напальцованных кульхацкеров он слышал, так ведь неизбежно скажет - C++. Почти все далёкие от компутеров люди считают C++ венцом творения. И это ты называешь "не раскручено"?!?

Про половину ошибок и ненужность дебаггеров - это ты зря. У C++ система типов настолько же убогая, что и у Си. Так что нормального контроля ошибок на этапе компиляции там быть никак не может. Я сам частенько правил подобные глюки в чужом C++-ном коде, которые в строго типизированном языке выскочили бы моментально.

И не надо про то, что C++ - улучшенный C. У Си есть своя ниша. И писать на нём что-то большее десятка тысяч строк - нелепо и глупо. А для таких мелких модулей от C++ будут только одни неприятности - его потом не забиндишь никуда.

Antichrist
()

2AC: Да знаю я, что KAI -- это компилятор именно плюсов. Я же там ключик --с нарисовал, ты не заметил?


2lenin: Код увидишь ниже. Я сейчас на работе, а компиляторы Portland и KAI у меня дома, так что для них тестов нет. Но вот что вышло для двух остальных:

icc -O3 -- time = 29 seconds
gcc -ffast-math -O20 -- time = 34 seconds

Всё равно на чистом number crunching сравнение не в пользу gcc.

А вот и код:

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <sys/time.h>

#define DIMENSION 1000
int main(void)
{
double *matrix;
int i,j;
struct timeval ti1, ti2;

matrix = (double*) malloc(DIMENSION*DIMENSION*sizeof(double));
for (i=0;i<DIMENSION;i++){
for (j=0;j<DIMENSION;j++){
matrix[i*DIMENSION+j] = (double) random()/RAND_MAX;
}
}
gettimeofday(&ti1,NULL);
minv(matrix,DIMENSION);
gettimeofday(&ti2,NULL);
fprintf(stderr,"time = %d seconds\n", ti2.tv_sec-ti1.tv_sec);
return 0;
}
/* minv.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
int minv(double *a,int n)
{ int lc,*le; double s,t,tq=0.,zr=1.e-15;
double *pa,*pd,*ps,*p,*q,*q0;
int i,j,k,m;
le=(int *)malloc(n*sizeof(int));
q0=(double *)malloc(n*sizeof(double));
for(j=0,pa=pd=a; j<n ;++j,++pa,pd+=n+1){
if(j>0){
for(i=0,q=q0,p=pa; i<n ;++i,p+=n) *q++ = *p;
for(i=1; i<n ;++i){ lc=i<j?i:j;
for(k=0,p=pa+i*n-j,q=q0,t=0.; k<lc ;++k) t+= *p++ * *q++;
q0[i]-=t;
}
for(i=0,q=q0,p=pa; i<n ;++i,p+=n) *p= *q++;
}
s=fabs(*pd); lc=j;
for(k=j+1,ps=pd; k<n ;++k){
if((t=fabs(*(ps+=n)))>s){ s=t; lc=k;}
}
tq=tq>s?tq:s; if(s<zr*tq){ free(le-j); free(q0); return -1;}
*le++ =lc;
if(lc!=j){
for(k=0,p=a+n*j,q=a+n*lc; k<n ;++k){
t= *p; *p++ = *q; *q++ =t;
}
}
for(k=j+1,ps=pd,t=1./ *pd; k<n ;++k) *(ps+=n)*=t;
*pd=t;
}
for(j=1,pd=ps=a; j<n ;++j){
for(k=0,pd+=n+1,q= ++ps; k<j ;++k,q+=n) *q*= *pd;
}
for(j=1,pa=a; j<n ;++j){ ++pa;
for(i=0,q=q0,p=pa; i<j ;++i,p+=n) *q++ = *p;
for(k=0; k<j ;++k){ t=0.;
for(i=k,p=pa+k*n+k-j,q=q0+k; i<j ;++i) t-= *p++ * *q++;
q0[k]=t;
}
for(i=0,q=q0,p=pa; i<j ;++i,p+=n) *p= *q++;
}
for(j=n-2,pd=pa=a+n*n-1; j>=0 ;--j){ --pa; pd-=n+1;
for(i=0,m=n-j-1,q=q0,p=pd+n; i<m ;++i,p+=n) *q++ = *p;
for(k=n-1,ps=pa; k>j ;--k,ps-=n){ t= -(*ps);
for(i=j+1,p=ps,q=q0; i<k ;++i) t-= *++p * *q++;
q0[--m]=t;
}
for(i=0,m=n-j-1,q=q0,p=pd+n; i<m ;++i,p+=n) *p= *q++;
}
for(k=0,pa=a; k<n-1 ;++k,++pa){
for(i=0,q=q0,p=pa; i<n ;++i,p+=n) *q++ = *p;
for(j=0,ps=a; j<n ;++j,ps+=n){
if(j>k){ t=0.; p=ps+j; i=j;}
else{ t=q0[j]; p=ps+k+1; i=k+1;}
for(; i<n ;) t+= *p++ *q0[i++];
q0[j]=t;
}
for(i=0,q=q0,p=pa; i<n ;++i,p+=n) *p= *q++;
}
for(j=n-2,le--; j>=0 ;--j){
for(k=0,p=a+j,q=a+ *(--le); k<n ;++k,p+=n,q+=n){
t=*p; *p=*q; *q=t;
}
}
free(le); free(q0);
return 0;
}

DmVo
()

AKA Mauhuur AKA Antichrist - почти один человек - и тот и тот - придурки

anonymous
()

2Antichrist (*) (2002-04-26 17:59:28.427):

Прости, но геометрию клепать под GEANT на фортране убого, а вот на С++ - замечательно, и работает GEANT 4 на С++ изумительно с хорошей скоростью. А цеплять какие-нибудь 2 языка (один для геометрии, другой фортран) - наткнешься на проблемы с несовместимостью. Мало тебе всяческих ошибок с переменными i,j,k, неясности кода, невозможности вводить локальные переменные?

anonymous
()

Да, платформа и прочее:

AMD-K7(tm) Processor 700 MHz, ASP Linux 7.2 "из коробки".

ДВ

DmVo
()

Гы, а это явно код не на c++ :) И я согласен с Антихристом, C++ имеет много недостатков: - семантика языка очень перегружена, тяжелое наследие Си (Жутко смотреть на код написанный непонятно на чем, толи на C++ толи на С); - язык нетипизирован (вcпомните, жуткую Венгерскую нотацыю, чтобы было понятно, что за переменная); - работа с указателями, при это легко допустить ошибку с утечкой памяти; - наличие перегружаемых операторов, кто-то скажет что это очень круто, я считаю, что это может только запутать пользователя твоего класса... Ну и еще что-то, что я сейчас навскидку невспомню :)

Прохожий.

anonymous
()

Прохожий... :)
Не нравится венгерская - используй любую другую... :):):)
Путать С и С++? Тоже весьма интересно... Если один является подмножеством другого...
Да и в остальном - ничего страшного... Язык как язык...
Прохожий, а какой предлагаешь, вместо приплюснутого си?...

asoneofus
()
Ответ на: комментарий от asoneofus

Хранить информацию о типе в имени идентификатора - ну очень глупо. Только такие вот отсосы, как ты, не в состоянии понять всего убожества этого подхода.

Antichrist
()

2asoneofus: Я и говорю, такая нотация появилась из-за отсутствия контроля типов на этапе компиляции. Я предпочту Java, если проект большой и достаточно ограниченный сроки для его реализации, а если есть время и заказчик не торопит, да еще хочет производительную систему, то можно помучиться и на C++ :)

Прохожий.

anonymous
()

Тоесть, я хочу поправиться, контроль есть, но простых типов... Прохожий.

anonymous
()
Ответ на: комментарий от DmVo

2 DmVO: >Я же там ключик --с нарисовал, ты не заметил?
Тебе же русским языком объяснили, что _сам_ KAI сишный код не компилирует, а отдает его сразу gcc.

AC
() автор топика
Ответ на: комментарий от anonymous

>О разнице между g++ и gcc
>Не буду из себя строить великого программиста, и говорить RTFM....
>Но вот какая штука странная получается - была запощенна мессага
.....
>anonymous (*) (2002-04-26 14:33:18.806)
>Там указывалось на ман и говорилось - что нет никакой разницы между g++ >и gcc
>Я не буду вдаваться в подробности, и предлагать посмотреть на >скомпилённый код
>просто приведу результаты работы ldd на скомпилированную g++ами и >gccями прогу которая печатает "хелло ворлд!"
>[nik@bertha nik]$ ldd a.out
>libstdc++.so.3 => /usr/local/lib/libstdc++.so.3 (0x40023000)
>libm.so.6 => /usr/lib/libm.so.6 (0x40083000)
>libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x400a0000)
>libc.so.6 => /lib/libc.so.6 (0x400a8000)
>[nik@bertha nik]$ ldd b.out
>libc.so.6 => /lib/libc.so.6 (0x40023000)
>/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>Попробуйте угадать, кто кем был скомпилен..


Ты читать по аглицки умеешь ? Написано же

1)The  C  and C++ compilers are integrated;
2)g++ is a script to call gcc with options to recognize C++.

твой эксперимент с ldd показывает что в случае с g++ к файлу прикручивается пара библиотек (stdc++ и еще пара малонужных в твоем случае) в которых валяется различная функционалтность типа SEH и RTTI

а компилятор ОДИН и ТОТ же 

сравни:
gcc --help
g++ --help
Обрати внимание на опцию -x 

anonymous
()

vsl AKA Mauhuur AKA Antichrist AKA Vitaly Lugovsky живет тут: http://ontil.ihep.su/~vsl В fido7.ru.antichrist частенько выступает. Прикольный чувачок, нервный только какой-то и злой на всех =8-[

anonymous
()

Похоже никто не напрягался над контролем типов (я, правда, то-же)... Но говорят (специально для сильно пышущих жаром косячка:)- девлоперы Qt говорят, а не азуанофаз :)) - что это типичное заблуждение...
Насчёт "хранения имени типа в имени идентификатора" ((с) antichrist) :):):)
Это, наверное, круто... И ноги растут от С (в старых исходниках частенько встречал, типа char LenSCh; char* FChArr...- хотя, может кто-то этот метод и на асме с успехом использовал :)... Но, вообщето, у нас свободная страна, и каждый называет свои переменные как хочет :D,
Это касаемо и названий класоов, в рамках наследования ...

И не смешите - называя эту байду "серьёзным недостатком" - разве это всё определено стандартом языка?.. И сам "си компилЕр даёт названия"?
((с) финишь)

asoneofus
()

Фортран - гавно, не может работать быстрее чем C, просто потому что
все библиотеки те же самые. И про числодробильню пиздеть не надо.
За implicit и вычисляемый goto надо просто вешать. А вот оператор
assign обладает возможностями для такого грязного хака, что программерам
на C просто и не снился. Это язык, погубивший не одно поколение
программеров.

anonymous
()

2Антихрист: Насчет существенных тормозов. Я понимаю под существенными тормозами снижение скорости хотя бы на 50%. Я не говорил об "огромных тормозах", когда чем-то невозможно пользоваться. А теперь цифирки. Есть такой сайт, bagley.org, где автор меряет производительность онкретных реализаций различных языков программирования. Возьмем, скажем, вычисление обратной матрицы: http://www.bagley.org/~doug/shootout/bench/matrix/ . Как видно из таблички, аналогичная прога на Яве проработала на 800% дольше, на Питоне - на 27700% дольше, чем на С++. Ну и кто тут разгонял, что существенные тормоза - бредни?

Agweb
()

> Тоесть, я хочу поправиться, контроль есть, но простых типов... Прохожий. Бред. А где контроль типов лучше чем в плюсах? В Java?? как я люблю ее Vector .... -- With best wishes, Nick.

bugfixer ★★★★
()

Восстановим поруганное имя g++ ;)

По поводу теста:
Машинка AthlonXP1700++
Ось: Linux-2.4.13-mosix-1.5.2

Итак: gcc 2.95.3 с опциями
 -O9 -malign-double -malign-loops=4 -malign-jumps=4 -malign-functions=4 -ffast-math -fno-strength-reduce -fexpensive-optimizations -funroll-all-loops -mcpu=pentiumpro

Время 12 секунд.

icc 5.0 с опциями
 -O3 -rcd -tpp6  -axiM  -unroll100 -Zp16 -ip 

Время 13 секунд.


Some comments ???

/SS

anonymous
()

Народ (прохожие), а вы про stl что-нибудь, когда-нибудь слышали? Вы пробовали случайно запихнуть (vector<double> *) в качестве (string *) без мата компилятора и C-шного преобразования указателя?

Беда C++ в том, что он позволяет всем, в том числе и неким идиотам типа A-hrist'а добиваться одной и той же цели многими путями - т.е.: шаблоны и вирт. функции - первое быстрее, а второе зачастую меньше,

#define и const, - первое всегда работает, а второе несомненно надежнее и безопаснее с точки зрения ошибок

char* и string - в первом возможно быстрее, во-втором - надежнее

и т.д.

Можно привести огромное число примеров. Здесь - как в TeX'e. А если часть народу выбирает по тем или иным соображениям неправильный путь - то это означает, что они - дилетанты и видимо идут тем A-hrist-овским путем - изучать поверхностно все и быть свистящим чайником везде.

anonymous
()

2bugfixer: Vector -- это библиотечный класс, вначале в нем были баги, но их поправили, хотя Vector уже устарел как класс давно :)

Прохожий.

anonymous
()

мдяяя... Значит превиликий выбор: Си, Си приплюснутый или Джава...
А ещё? Весьма интересно...

asoneofus
()

2Anonymous: Поповоду того, что в С++ можно добиться одного и того же я согласен, я уже говорил, что он избыточен и семантически очень перегружен, понеопытности и просто попривычке, можно наделать много ляпусов...

Прохожий

anonymous
()
Ответ на: комментарий от anonymous

>Фортран - гавно, не может работать быстрее чем C, просто потому что
>все библиотеки те же самые. И про числодробильню пиздеть не надо.

А Вы, уважаемый, пробовали ?

Рекомендую попробовать Compaq FORTRAN и убедится что таки МОЖЕТ
но на копейку так что по скорости сейчас C/C++ и FORTRAN расхотятся 
на некритичную величину а вот маленькие приятности типа интерфейсов
к OpenGL и куча всего еще делают C++ весма привлекательным для числодобления сегодня. Правда "академики" написавшие кучу библиотек 
для  числодробления на FORTRANE мигрировать на С++ не спешат.

/SS



anonymous
()
Ответ на: комментарий от anonymous

Когда я говорю "фортран", я имею в виду Fortran90 и HPF, со всеми этими вкусностями про матрицы и вектора и автоматическим разпараллеливанием. Факт - ни одна C++-ная библиотека даже близко не подобралась к производительности своих Фортрановских аналогов.

А что имелось в виду под "все библиотеки те же самые" - я и вовсе не впилил.

Antichrist
()

2anonymous (*) (2002-04-26 20:01:03.851):

Между прочим, у меня где-то лежит Страуструп v.I и в нем четко написано, что С++ изначально был перегружен различными конструкциями, так как derivative от C и видимо из-за этого все операции над массивами, строками и т.д. вынесены в библиотеки, а не внесены в компилятор, как, например в Фортране 90 или С 99 (если не ошибаюсь с цифирью (второй)).

И все же, если повтроиться, я ни за что не откажусь ни от шаблонов ни от виртуалок, не смотря на то что они делают одно и то же. (любую вешь с языка фирт. ф-ций можно перенести на язык шаблонов и наоборот) В расчетной задаче нужна скорость, а в коде с наследованием зачастую лучше использовать виртуальные функции.

Такие же возможности и со строками/char* - первое надежнее, зачястую удобнее, но иногда (например из argv[1] в fstream) нужно передавать именно char * и дабы не городить лишнего можно использовать и это. Вот так. И неужели это все труднее узнать и прочувствовать нежели узнать фортран (с его 40 или более летними прибабахами), plain C, java и т.д., а потом состыковывать вместе?

anonymous
()

2Antichrist (*) (2002-04-26 20:13:22.736):

Черт возьми, а ты ведь сейчас прав мой юный друг. Надо работать, надо работать. Да я согласен, что на больших машинах фортран лучше чего бы то ни было. Значить тут еще С++ будет нагонять и перегонять фортран.

anonymous
()
Ответ на: комментарий от Agweb

А я не назову существенными тормозами даже десятикратное торможение, в том случае, если процессор проводит на тормозном участке кода (которого 90%) лишь несколько процентов от общего времени, а bottleneck в 90% процессорного времени - всего-то пара десятков функций, которые и на Си, и даже при желании на ассемблер переписать не грех. Ясно, к чему я клоню? Производительность далеко не всегда вообще хоть какое либо значение имеет.

ЗЫ: попрошу обратить внимение, что OCaml на этом тесте весьма шустро отработал. А вот Java просто не так измерялась. В отличии от C++ да OCaml она долго заводится. Поскольку я числодробильню на Жабе гонял, я точно знаю, что такой вот алгоритм HotSpot очень даже неплохо компиляет.

Antichrist
()

> для числодробления на FORTRANE мигрировать на С++ не спешат.

Мигрировать никто и не должен - эти библиотеки спокойно используются из
C/C++ без проблем. Кстати, академики не пишут библиотеки :))))
А где же раздают Compaq Fortran ( изначально DEC Fortran, что говорит
о многом ), чтобы вот так взять и попробовать на Linux/x86 ? :)

anonymous
()
Ответ на: комментарий от bugfixer

Про хороший контроль типов - читать работы тов. Luca Cardelli:

 Luca Cardelli. Type Systems. \\
 Allen B. Turcker (Ed.): The Computer Science and Engeneering Handbook.
 CRC Press, 1997. Chapter 103, pp. 2208--2236.

 Luca Cardelli. Typeful Programming.\\
 E. J. Neuhold and M. Paul, Editors. Formal Description of Programming
  Concepts, IFIP State of the Art Reports Series. Springer--Verlag,
  February 1989.

AFAIR, это гуглей можно и в PDF-ах найти.

 Наиболее интересная для практических целей система типов - 
статическая типизация по Хиндли--Миллнеру, реализованная,
к примеру, в *ML.

Antichrist
()

Antichrist (*) (2002-04-26 20:20:18.052):

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

anonymous
()

Слышь, враг рода человеческого, а чего это ты так разорался? Просто ты, вбив себе в башку неприятие с++ и ООП вообще, лишил себя способности понять, что на с++ можно писать как угодно и что угодно, создавая классы на все случаи жизни и облегчая себе тем самым свою жизнь. Например, хочешь howto по написанию кода на с++ в стиле java - без указателей, string вместо char* и т.п.?

anonymous
()
Ответ на: комментарий от anonymous

А теперь переведи на русский всё то гонево, что ты сейчас тут набздел.

Я тебя не понимаю. Если для тебя Java+ассемблер есть извращение, а блядский C++ - не извращение, даже при том, что в первом случае задача решается раз в десять быстрее и проще - то ты просто мудак. Если же ты не мудак, то ты как минимум безграмотен. Иди, книжки умные почитай. Которые люди пишут, а не придурки вроде Страуса или Буча.

Antichrist
()

Базарить надо о реальном фортране - g77. Других бесплатных компилеров
нет, так что все слова о крутости фортрана-9x, не более чем диванные
рассуждения о крутости Ferrari. Можно гнать все что угодно, все равно
никто проверить твои слова не сможет...

anonymous
()

Antichrist (*) (2002-04-26 20:27:48.912):

А ты последнюю фразу типа кому кинул? Тут ведь два разных человека под одним ниов тебя поливают. (а то и более)

Да и кипятком-то на клавиатуру не надо... И матом не хорошо крыть... Ну тут уж кого как воспитали.

anonymous
()
Ответ на: комментарий от anonymous

Ещё один ламеришко бздеть начал. Я же сказал - не смейте, уроды, смешивать блядский C++ и ООП. Нет между ними НИЧЕГО ОБЩЕГО. Если хотите ООП - то вот вам Java, Eiffel, Smalltalk, Python, OCaml. Это - ООП. Иногда это действительно надо. А C++ - это не ООП. Это какой-то ублюдок-мутант. И наезжаю я на C++ исключительно с объективных позиций, мои же нисколько мною не уважаемые безграмотные оппоненты вроде тебя лишь громко бздят, что "C++ на самом деле дико крут, ты просто его не понял". Надоело мне это. С дебилами разговаривать - никакого интереса. Вы, суки, не слышите аргументов. У вас есть ваша блядская религия, вы в неё веруете, и единственный авторитет для вас - психованный пророк Страус. Ну так и сосите у страуса, только не смейте при детях говорить, что C++ - это круто - они ведь и повестись на бредни такие могут.

Antichrist
()
Ответ на: комментарий от anonymous

Бздуны проверить не смогут. Хотя бы по тому, что не захотят этого делать - религия не позволит. А те, кому надо, проверят или прочитают. Так что не надо ля-ля.

ЗЫ: Intel Fortran под линух раздают на халяву.

Antichrist
()

2Antichrist (*) (2002-04-26 20:32:47.51):

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.