Извините, но я перехожу на FPC

Тема в разделе "WASM.HEAP", создана пользователем device, 30 окт 2007.

  1. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    4apa
    весь мир использует эти "извращения" и не жалуется. а вам чем-то не нравится. меня наоборот добивает когда вместо ++x; меня язык _вынуждает_ писать что-то типа x = x+1;
    но вам, видимо, так нравится?

    а если по сабжу -- тема если не перешла в холивар, то на след. странице точно перейдет.
    в 2х абзацах кое-кто умудрился привести веские причины того, что С/С++ - это гуан*, и лучше юзать Oberon. воистину, сенсей!!!

    4apa,
    расскажите нам о "лучших чертах паскаля"? спасибо.
     
  2. 4apa

    4apa Neo (Thomas Anderson)

    Публикаций:
    0
    Регистрация:
    19 апр 2007
    Сообщения:
    304
    Адрес:
    Matrix has u....
    1. К сожалению, Вы правы, мировая программная индустрия пока жестко привязана (кстати, кем ?) к ненадежным языкам типа С-С++.
    И для этого видимо есть серьезные причины (экономические+ идеологические!), не лежащие пока на поверхности...

    Кстати, дедушка Вирт весьма ругается на эту самую софтверную индустрию, типа того, что она готовит для себя(в ВУЗах) не специалистов-инженеров, а каких-то идиотов :)

    Типа того, что выпускник обязан знать современные ЯВУ в индустрии, но он не может ясно и четко решать инжененрные задачи (проектирование надежного и дешевого софта).
    Причем именно из-за тяжкого наследия языков 60-х годов типа С-С++.
    Это мнение Вирта, если хотите, поспорьте с ним. :)
    Ссылки смотрите здесь:
    http://www.inr.ac.ru/~info21/texts/2002-06-Aarhus/ru.htm (очень сильная статья :))
    http://www.inr.ac.ru/~info21/texts/2005-10-Expert/final.pdf
    http://www.inr.ac.ru/~info21/


    2. Я даже и не думаю спорить с Сишниками, ибо глупо это все.
    Они сами дружно перейдут на современные технологии разработки надежного софта, как только увидят сколько их личного(!!) времени экономит программирование на защищенных языках типа Oberon/Pascal.

    3. Я бы с удовольствием расписал преимущества Пасцаля, но у меня дико не хватает свободного времени.
    Лучше поискать в гугле на тему "Преимущества Паскаля ...", Вам хватит ссылок чтобы учитаться... :)))

    У меня мелькнула мысль сделать для Васма анализ сильных/слабых сторон среди защищенных языков разработки: Oberon/ Pascal/ Эль-76 (это система разработки российской многопроцессорной супер-ЭВМ Эльбрус-2-3).
    Пока дело стоит за лит-рой (у меня книжка по Эльбрусам осталась в другом городе)+ нет опять же freetime. :dntknw:
    Да и самому с Обероном надо еще подработать, там доков очень много...
     
  3. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    4apa,
    да чего там, переходите сразу на бейсик, на эту квинтэссенцию мега-надежности. зачем вам такая сложность как паскаль?

    во всем мире, опять же повторюсь, _почему-то_ почет и хвала именно С/С++ программистам, а вам они не угодили чем-то. есть даже внегласное правило, что типа если программист не владеет C/C++, то это не профи программер:) и об этом, опять же, все знают, хоть и не сильно трепятся по этому поводу:))
    ну, вы замУтите я так думаю свою касту п0скаль-программеров, и начнете тем самым новый виток в истории программинга. а я счас за чашечкой коффе сбегаю и буду наблюдать...

    long life to Nicklaus Virt! :)
     
  4. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Не верю.

    Щас сижу пишу прогу по тестированию файлов. Пишу на си, так как на паскале времени потрачено будет больше.

    Если ты так хорошо знаешь паскаль, переведи на него этот пример!
    Код (Text):
    1. int main(int argc, char *argv[])
    2. {
    3.  
    4. char *fname;
    5. fname = argv[1];
    6. int type;
    7. struct stat st;
    8.  
    9. if (stat (fname, &st)<0){
    10. printf ("%s - No such file\n",fname);
    11. }else{
    12. printf ("Checking for %s......[ OK ]\n",fname);
    13. printf ("Chicking for links......%d\n",st.st_nlink);
    14. // Бла бла бла....
    15. }
     
  5. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    4apa,
    любой фанат своего ЯП приведет кучу док-в того, что именно его ЯП - самый ЯПистый ЯП в мире! но обычно подобные док-ва не выдерживают никакой критики. все упирается в то, что тому или иному челу просто нравится писать на этом ЯП, вот и все. а может быть он просто консервативен, и, выучив этот ЯП XX лет назад, не желает с ним расставаться. отсюда и столько бурных эмоций по отношению к нему. это же так просто.

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

    оффтоп, но наверное кстати по этой причине в странах бывшего совка столько "любителей изобретать велосипеды" :). не в обиду, конечно.
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    4apa
    Если коротко объяснить....
    Сейчас выпускающиеся программеры папины(или мамины , не знаю кто платил) сыночки...
    А брать кого-то на работу надо....
    Вот для этих ОЛЕНЕЙ и придумывают что по-проще!!!!
    Ты не знал или сам такой;)
    Брать то не кого , а для ОЛЕНЕЙ надо свой загон придумывать...
    Вот и появляются помехозащищённые методики:)))))))))))))
     
  7. 4apa

    4apa Neo (Thomas Anderson)

    Публикаций:
    0
    Регистрация:
    19 апр 2007
    Сообщения:
    304
    Адрес:
    Matrix has u....
    Согласен!

    Давай устроим что то типа соревнования. И тогда сразу будет видно, ху из ху :)))

    Я постараюсь прицепить сюда мою прогу на Обероне по расчету космических орбит в системе Солнце-Земля-Луна...
    Программу запускать под системой BlackBox 1.5 rus (скачайте пакет от МГУ, я давал ссылки ранее).

    Переводи ее на С++ и будем сравнивать, насколько твой вариант нагляднее и легче в вериффикации.

    Удачи !
    (Твое задание не вижу смысла транслировать на Оберон, слишком просто.)
    Код (Text):
    1. Helios2.Do1
    2.  
    3. MODULE Helios2;
    4.  
    5. IMPORT Log:= StdLog, Math;
    6.  
    7. CONST
    8.     G_Const= 6.6726E-11;
    9.     R_Sun_Earth= 149.6*1.0E9; (*150 млн км*)
    10.     R_Sun_Moon= R_Sun_Earth+ 406*1.0E6; (*384 тыс км*)
    11.  
    12. TYPE
    13.     PPoint3D= POINTER TO TPoint3D;
    14.     TPoint3D= RECORD
    15.         x,y,z: REAL;
    16.     END;
    17.    
    18.     PPlanetObject= POINTER TO TPlanetObject;
    19.     TPlanetObject= RECORD
    20.         pos, PosNew: TPoint3D; (*Положение объекта + будущее положение*)
    21.         vel: TPoint3D; (* Скорость, м/с *)
    22.         accel: TPoint3D; (* Текущее ускорение, м^2/с*)
    23.         mass: REAL; (* Масса, кг*)
    24.         radius: REAL; (* Радиус, м*)
    25.         name: ARRAY 32 OF CHAR; (* Название *)
    26.     END;
    27.    
    28.     PPlanetSystem= POINTER TO TPlanetSystem;
    29.     TPlanetSystem= RECORD
    30.         TimeDelta: REAL; (* Квант времени в системе *)
    31.         CurrentTime: REAL; (* Текущее время в системе *)
    32.        
    33.         Planet: ARRAY 3 OF PPlanetObject;
    34.     END;
    35.  
    36. (*==========================================================================*)
    37. PROCEDURE (P: PPoint3D) Setup(r1,r2,r3: REAL), NEW;
    38. BEGIN
    39.     P.x:= r1; P.y:= r2; P.z:= r3;
    40. END Setup;
    41.  
    42. PROCEDURE (P: PPoint3D) Zero(), NEW;
    43. BEGIN
    44.     P.Setup(0.0, 0.0, 0.0);
    45. END Zero;
    46.  
    47. PROCEDURE (P: PPoint3D) Module(): REAL, NEW;
    48. BEGIN
    49.     RETURN  Math.Sqrt(P.x*P.x+ P.y*P.y+ P.z*P.z);
    50. END Module;
    51.  
    52. PROCEDURE (R: PPoint3D) GetDistance(p1, p2: TPoint3D): REAL, NEW;
    53. BEGIN
    54.     R.x:= p2.x- p1.x;
    55.     R.y:= p2.y- p1.y;
    56.     R.z:= p2.z- p1.z;
    57.    
    58.     RETURN  R.Module();
    59. END GetDistance;
    60.  
    61. (*==========================================================================*)
    62. PROCEDURE (PlanetSystem: PPlanetSystem) Setup(), NEW;
    63. VAR
    64.     T: PPoint3D;
    65. BEGIN
    66.     PlanetSystem^.TimeDelta:= 0.25;
    67.     PlanetSystem^.CurrentTime:= 0.0;
    68.    
    69.     NEW(T);
    70.    
    71.     NEW(PlanetSystem^.Planet[0]);
    72.     NEW(PlanetSystem^.Planet[1]);
    73.     NEW(PlanetSystem^.Planet[2]);
    74.     (* ========================================================= *)
    75.     PlanetSystem^.Planet[0].name:= "Солнце";
    76.     PlanetSystem^.Planet[1].name:= "Земля";
    77.     PlanetSystem^.Planet[2].name:= "Луна";
    78.    
    79.     PlanetSystem^.Planet[0].mass:= +2.00E30;
    80.     PlanetSystem^.Planet[1].mass:= +5.96E24;
    81.     PlanetSystem^.Planet[2].mass:= +7.36E22;
    82.    
    83.     T.Setup(0, 0, 0); PlanetSystem^.Planet[0].pos:= T^;
    84.     T.Setup(R_Sun_Earth, 0, 0); PlanetSystem^.Planet[1].pos:= T^;
    85.     T.Setup(R_Sun_Moon, 0, 0); PlanetSystem^.Planet[2].pos:= T^;
    86.    
    87.     T.Setup(0, 0, 0);               PlanetSystem^.Planet[0].vel:= T^;
    88.     T.Setup(0, 29785.678, 0); PlanetSystem^.Planet[1].vel:= T^;
    89.     T.Setup(0, 29385.678, 0); PlanetSystem^.Planet[2].vel:= T^;
    90.    
    91.     (*T.Setup(0, 29404.88, 0); PlanetSystem^.Planet[2].vel:= T^;*)
    92.     (*T.Setup(0, 28867.988163718863, 0); PlanetSystem^.Planet[2].vel:= T^;*)
    93.    
    94.     T.Setup(0, 0, 0);
    95.     PlanetSystem^.Planet[0].accel:= T^;
    96.     PlanetSystem^.Planet[1].accel:= T^;
    97.     PlanetSystem^.Planet[2].accel:= T^;
    98.     (* ========================================================= *)
    99. END Setup;
    100.  
    101. PROCEDURE (PlanetSystem: PPlanetSystem) FindAccelDelta(p1, p2: PPlanetObject), NEW;
    102. (*
    103. ===========
    104. Выполняем расчет относительных ускорений двух тел
    105. и добавляем их в сумматор текущего ускорения
    106.  
    107. Расчет не производим для 1го тела, если второе тело
    108. имеет массу менее 1% от массы первого
    109. ===========
    110.  
    111. F= G* m1* m2/ R^2= m1* a; --> a= G*m2* Rxyz/R^3; (В виде проекций на оси координат!  где R- модуль направления и всегда больше нуля, по хорошему )
    112.     G= 6.67E-11; Константа Ньютона :)))
    113. *)
    114.  
    115. VAR
    116.     R: PPoint3D;
    117.     GM: REAL;
    118.     RM: REAL; (* Расстояние между объектами *)
    119. BEGIN
    120.     NEW(R);
    121.     RM:= R.GetDistance(p1.pos, p2.pos);
    122.     RM:= RM*RM*RM;
    123.    
    124.     IF  p2.mass/p1.mass>0.01  THEN
    125.         GM:= G_Const* p2.mass;
    126.         p1.accel.x:= p1.accel.x + GM* R.x/ RM;
    127.         p1.accel.y:= p1.accel.y + GM* R.y/ RM;
    128.         p1.accel.z:= p1.accel.z + GM* R.z/ RM;
    129.     END;
    130.    
    131.     IF  p1.mass/p2.mass>0.01  THEN
    132.         GM:= G_Const* p1.mass;
    133.         (* Ибо направление сил гравитации у второго объекта противоположное *)
    134.         p2.accel.x:= p2.accel.x - GM* R.x/ RM;
    135.         p2.accel.y:= p2.accel.y - GM* R.y/ RM;
    136.         p2.accel.z:= p2.accel.z - GM* R.z/ RM;
    137.     END;
    138. END FindAccelDelta;
    139.  
    140. PROCEDURE (PlanetSystem: PPlanetSystem) DoOneStep(), NEW;
    141. VAR
    142.     i,j: INTEGER;
    143.     dt: REAL;
    144.     PL: PPlanetObject;
    145.     Zero: PPoint3D;
    146. BEGIN
    147.     (* Рассчитаем взаимные ускорения *)
    148.     FOR  i:= 1 TO LEN(PlanetSystem.Planet) DO
    149.         FOR  j:= i+1 TO LEN(PlanetSystem.Planet) DO
    150.             PlanetSystem.FindAccelDelta(PlanetSystem.Planet[i-1], PlanetSystem.Planet[j-1]);
    151.         END;
    152.     END;
    153.    
    154. (*
    155. v1= v0+ a*dt
    156. x1= x0+ dt*(v0+v1)/ 2    ==Вроде бы они равны ? Да, это так и есть!
    157. x1= x0+ dt*(v0+a*dt/2)  ==Выбираем эту формулу
    158. *)
    159.     NEW(Zero); (* Нулевая тройка чисел *)
    160.     Zero.Zero();
    161.    
    162.     dt:= PlanetSystem.TimeDelta;
    163.    
    164.     (* Рассчитаем новые координаты и скорости *)
    165.     FOR  i:= 1 TO LEN(PlanetSystem.Planet) DO
    166.         (*Log.Int(i);*)
    167.         PL:= PlanetSystem.Planet[i-1];
    168.        
    169.         PL.pos.x:= PL.pos.x+ (PL.vel.x+ PL.accel.x* dt* 0.5)* dt;
    170.         PL.pos.y:= PL.pos.y+ (PL.vel.y+ PL.accel.y* dt* 0.5)* dt;
    171.         PL.pos.z:= PL.pos.z+ (PL.vel.z+ PL.accel.z* dt* 0.5)* dt;
    172.        
    173.         (* Скорость обязательно инкрементируем после инкремента координаты !*)
    174.         PL.vel.x:= PL.vel.x+ PL.accel.x* dt;
    175.         PL.vel.y:= PL.vel.y+ PL.accel.y* dt;
    176.         PL.vel.z:= PL.vel.z+ PL.accel.z* dt;
    177.        
    178.         (* Обнуляем ссумматор ускорения *)
    179.         PL.accel:= Zero^;
    180.     END;
    181.    
    182.     (* Время тоже течет вдаль, надо его инкрементировать *)
    183.     PlanetSystem.CurrentTime:= PlanetSystem.CurrentTime+ PlanetSystem.TimeDelta;
    184. END DoOneStep;
    185.  
    186. PROCEDURE (PlanetSystem: PPlanetSystem) PrintResults(), NEW;
    187. VAR
    188.     i: INTEGER;
    189.     p, Earth: PPlanetObject;
    190.     pm: PPoint3D;
    191. BEGIN
    192.     NEW(pm);
    193.    
    194.     Log.String("Время: "); Log.Real(PlanetSystem.CurrentTime/ 3600/ 24);
    195.     Log.Ln;
    196.    
    197.     Earth:= PlanetSystem.Planet[1];
    198.     FOR  i:= 2 TO LEN(PlanetSystem.Planet) DO
    199.         p:= PlanetSystem.Planet[i-1];
    200.         Log.Int(i); Log.String("). Объект: "+ p.name); Log.Ln;
    201.        
    202.         Log.String("x=");
    203.         Log.Real(p.pos.x);  Log.Tab;
    204.         Log.Real(p.pos.y);  Log.Tab;
    205.         Log.Real(p.pos.z);  Log.Tab;
    206.         pm^:= p.pos;
    207.         Log.Real(pm.Module());  Log.Ln;
    208.        
    209.         Log.String("v=");
    210.         Log.Real(p.vel.x);  Log.Tab;
    211.         Log.Real(p.vel.y);  Log.Tab;
    212.         Log.Real(p.vel.z);  Log.Tab;
    213.         pm^:= p.vel;
    214.         Log.Real(pm.Module()); Log.Ln;
    215.        
    216.         IF  i=3  THEN
    217.         Log.String("Moon dynamics:");
    218.         Log.Ln;
    219.         Log.String("x=");
    220.         pm.x:= p.pos.x- Earth.pos.x;
    221.         pm.y:= p.pos.y- Earth.pos.y;
    222.         pm.z:= p.pos.z- Earth.pos.z;
    223.        
    224.         Log.Real(pm.x); Log.Tab;
    225.         Log.Real(pm.y); Log.Tab;
    226.         Log.Real(pm.z); Log.Tab;
    227.         Log.Real(pm.Module());  Log.Ln;
    228.        
    229.         Log.String("V=");
    230.         pm^:= p.vel;
    231.         pm.x:= p.vel.x- Earth.vel.x;
    232.         pm.y:= p.vel.y- Earth.vel.y;
    233.         pm.z:= p.vel.z- Earth.vel.z;
    234.         Log.Real(pm.Module()); Log.Ln;
    235.            
    236.         END;
    237.     END;
    238.    
    239.     Log.String("===================================================="); Log.Ln;
    240. END PrintResults;
    241.  
    242. PROCEDURE (PlanetSystem: PPlanetSystem) BeginProcess(DaysToProcess: REAL), NEW;
    243. (*DaysToProcess- Число дней для расчета*)
    244.     VAR  CounterMax, Counter: REAL;
    245. BEGIN
    246.     CounterMax:= Math.Round(24*3600 / PlanetSystem^.TimeDelta);
    247.     Log.String("CounterMax="); Log.Real(CounterMax); Log.Ln;
    248.    
    249.     CounterMax:= CounterMax/ 1;
    250.     Counter:= 0;
    251.     DaysToProcess:= DaysToProcess*24*3600; (*Перегнали в секунды*)
    252.    
    253.     WHILE PlanetSystem^.CurrentTime< DaysToProcess DO
    254.         PlanetSystem.DoOneStep();
    255.         Counter:= Counter+ 1;
    256.         (*Log.Real(Counter); Log.Ln;*)
    257.        
    258.         IF Counter>= CounterMax THEN
    259.             PlanetSystem.PrintResults();
    260.             Counter:= 0;
    261.         END;
    262.     END;
    263. END BeginProcess;
    264.  
    265. PROCEDURE Do1*();
    266.     VAR PlanetSystem: PPlanetSystem;
    267. BEGIN
    268.     NEW(PlanetSystem);
    269.    
    270.     PlanetSystem.Setup;
    271.     PlanetSystem.BeginProcess(2*365.25); (*2 года*)
    272.     PlanetSystem.PrintResults();
    273. END Do1;
    274.    
    275. BEGIN
    276.  
    277. END Helios2.
    278.  
    279. (*
    280. Helios2.Do1
    281.  
    282. Расчетные формулы:
    283. F= G* m1* m2/ R^2= m1* a;
    284. G= 6.67E-11;
    285.  
    286. v1= v0+ a*dt
    287. x1= x0+ v0*dt+ a*dt^2/2 ==Выбираем эту формулу (равноускоренное движение на участке dt)
    288. x1= x0+ dt*(v0+v1)/ 2
    289.  
    290. v= Int(a)dt= a*t+ v0.       x= Int(v0+ a*t)dt= x0+ v0*t+ a*t^2/2
    291. *)
     
  8. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    смеюсь:)))

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

    :)))
    это на баш надо!
     
  9. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Зачот!
     
  10. 4apa

    4apa Neo (Thomas Anderson)

    Публикаций:
    0
    Регистрация:
    19 апр 2007
    Сообщения:
    304
    Адрес:
    Matrix has u....
    Да ну тя в баню, уважаемый varnie !
    меня заинтересовала идея посоревноваться с увжаемым device'ом на счет у кого лучше и чище получиться результирующий код.

    А твои призывы убиться головой об стену меня почему то невоодушевляют. :dntknw:
    Извини...

    И еще...
    Уважаемые мемберы!

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

    это я к тому, что не буду сто раз повторять одну и ту же инфу, задрало уже :dntknw:((.
     
  11. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    wsd ух.. ща как возражу )))
    Ты отчетливо понимаешь, что если программу не используют, то она не живет - это первое! Не развивается из-за того что пользователи не жалуются, а они нежалуются потому что первое - это второе ! )
    Также ты отчетливо должен понимать, что мы сейчас живем в условиях пусть дикого(как выразился мой друг), но капитализма. В условиях капитализма и рынка, как правило очень и очень много конкурентов, с этим ты тоже не поспоришь! ;)
    Из-за обилия конкурентов, приходится шевелиться и иногда очень шустро шевелиться или тебя выкинут с арены! Тоже факт! ;)

    Я писал:
    Этими словами, я хотел и говорю щас, что не все надо решать через тяжелые средства, к примеры С++. Да они гибкие, функциональны - но по сути, уводят в никуда наше разработчиков время! Пока мы ищем ошибку - мы теряем время, из-за этого оттягиваем сроки реализации продукта, а ведь это только на руку конкурентам!
    Надо исходить из условий проекта\задачи. Если есть время то да, тут надо по надежней, кучу проверок на вставлять,попытаться вставить новую фичу и это круто, но круто для нас, для разработчиков. Пользователю нужно решать его задачи, к примеру ввел нужные данные и получил отчет, и ему глубоко фиалетово на чем написано! Зато от жутко удивиться какой нить фиче, которая приводит к BSOD - не беда что ее писал начинающий программер, только только освоивший азы С++! Гораздо ужасней что из-за сбоя пользователь\клиент теряет свое время и это его беспокоит куда больше чем, как была написана программа! И это надо учитывать!

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

    Вобщем, подвожу итог:
    1. Если ты работаешь на контору, играй по правилам конторы!
    2. Если ты работаешь на контору, используй проверенные не одним человеком средства
    3. Если ты работаешь на контору, ты обязан делать как делать вещи по проще, а не услажнять их, т.к. время сопровождения и модификации вещей, очень и очень важно в данный момент
     
  12. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    100 процентов согласен.
    Я ведь в первом посте написал: еслиб не требования к времени - сидел бы я на сях/джаве и не жаловался.
    А тут от тебя требуют проект, который даже если будешь строчить без остановки и обращения к книге, вовремя не напишешь!
     
  13. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    4apa,
    бесполезный спор будет. как вы докажете др другу, что вот "мой код лаконичнее, а ваш нешыбко", или наоборот? все опять упрется в фанатичную преданность своему языку! ну нравится вам писать x = x +1; а другому нравится ++x; и что, как тут кто кому докажет что его способ "лучше и чище"? или вы настолько хорошо знаете свой язык, и у вас столько свободного времени, что вы на уровне генерируемых вашим компилером инструкций будете выяснять, у кого и что оптимизированней?
    и если уж этим заниматься, то надо брать какой-то классический алгоритм и его уж писать на своих языках, а потом генерируемый код смотреть. например, пузырьковую сортировку, вычисление факториала заведомо здоровенного числа, итд итп.
    а ваши станции, спутники, и прочие орбиты с километрами как-то сложно во все это фписываются.
     
  14. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    device
    У мну начальник все это разъяснил, жестко так, но на совесть ! )
    Я всегда думал:
    1. А что если файл не запишется и тут же мыль в голову надо событие в лог
    2. А что если юзер не догадается, наверно надо подсказать и хинт вывести
    3. А ведь было бы круто ещи экспорт в эксель сделать

    Он здраво сказал:
    1. Ну и пусть запишется, юзер глянет в доку и увидет что нужно проверить сетевой диск, глянет а его нет и решит траблу - вывод не тратить время на эту "нужность"
    2. Ты думаешь что все тупые, а кто-то написавший MS VC++ даже не думал, что ты не догадаешь, он думал по щет того, чтобы было средство, да есть баги, есть досадные, но не надо думать будто весь мир из одних тупиц!
    3. На это он сказал жестко, ну и будет он раз в год юзать этот файл, а ты на это время тратил вместо того чтобы отказустойчивей сделать прогу.

    Жестко так меня пресанул и у меня аж аргументов не стало ;)))
     
  15. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Не обижайся....
    Если ты работаеш на сутенёра - зарабатываеш кучу бабок, выходиш на пенсию
    и выясняется , что они на х**ен ни кому не нужны, а уважение уже не заработаеш.........
    А в своей теме что молчиш????
    Я же тебе ясно говорил про вырожденные случаи:))))))))))
     
  16. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    wsd читаю ман, вот и молчу ;) Че будет не понятно, опять спрошу ;)
    Это что за случаи?
     
  17. 4apa

    4apa Neo (Thomas Anderson)

    Публикаций:
    0
    Регистрация:
    19 апр 2007
    Сообщения:
    304
    Адрес:
    Matrix has u....
    2 device:
    Если заинтересовало мое предложение (на счет соревнования), я буду только рад :)

    Если сча нет времени, так и скажи, что завален работой. Или отказывайся.
    Торопить тебя никто не будет !! :]

    Я свою ботву к примеру писал/отлаживал почти неделю с перерывами (по ночам по 1-2 часика :)), пока она нормально не запахала.
    Каркас программы был написан за 2-3 часа (типа я само-обучался прогать на Обероне).

    (причина косяков:
    в алго ошибок не было.
    в исходных данных- параметрах орбиты- пришлось сильно шаманить с орбитой Луны:

    я все никак не мог мало мальски стабилизировать орбиту Луны, она у меня постоянно улетала куда-то через 2-3 дня
    В итоге закинул ее подальше на 406 тыс.км от Земли и скорость придал ей 990 м/с относительно Земной).
    ).

    Без обид.

    Косячок исправьте:
    Код (Text):
    1.     T.Setup(0, 29785.678, 0); PlanetSystem^.Planet[1].vel:= T^;
    2.     T.Setup(0, 29385.678, 0); PlanetSystem^.Planet[2].vel:= T^;
    заменить на
    Код (Text):
    1.     T.Setup(0, 29785.678, 0); PlanetSystem^.Planet[1].vel:= T^; (* Скорость Земли отн.Солнца *)
    2.     T.Setup(0, 29785.678- 990, 0); PlanetSystem^.Planet[2].vel:= T^; (* Скорость Луны в 990 м/с в Земных координатах*)
     
  18. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    мат часть читать надо.
    А тебе точно оттуда побыстрей сваливать надо;)
     
  19. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    4apa,
    извини, но я шыбко сомневаюсь, что кто-то ваши орбиты, луны и прочее изучать здесь будет. по-идее, лучше новый топик создать типа "battle: с/c++ vs oberon", и там уж обсуждать задачку для прогонки на обоих языках. а вообще, тупо как-то, вы даете свой вариант сорцов на вашем языке, и говорите - "переводи давай на свой язык". так неверно. обычно ставят задачу и обе стороны ее решают, не обращая внимания на сорец оппонента.
    уловили?:)
    ps: но я опять же сомневаюсь в таком топике даже, ибо у людей времени нету банально на все эти 'меряния пи#исками'.
     
  20. 4apa

    4apa Neo (Thomas Anderson)

    Публикаций:
    0
    Регистрация:
    19 апр 2007
    Сообщения:
    304
    Адрес:
    Matrix has u....
    Повторяю для самых одаренных :)
    http://www.inr.ac.ru/~info21/texts/2002-06-Aarhus/ru.htm

    Если у тебя нет свободного времени, уважаемый varnie, то лучше не читай...

    Ты ведь слишком занят на форуме. :)))