OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 22 Октябрь, 2019 02:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 19:21 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
доброе время суток!

имеем:
Код:
TYPE
  View = POINTER TO RECORD (Views.View)
    tiles: ARRAY 4, 4 OF INTEGER;
  END;

  PROCEDURE Init (v: View);
    VAR i, j: INTEGER;
  BEGIN
    ..
  END Init;


я вывел в лог значения tiles и локальных переменных ф-ии Init. все они раны нулю. я могу исходить из того, что они всегда будут равны нулю в момент запуска? или лучше обнулять их самому (если мне надо чтобы они были нулевыми)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 21:32 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4522
Откуда: Россия, Орёл
Да.
Language Report писал(а):
6.4 Pointer Types
...
All fields or elements of a newly allocated record or array are cleared, which implies that all embedded pointers and procedure variables are initialized to NIL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 21:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8185
Откуда: Троицк, Москва
Значения i,j не обязаны быть равны 0 в момент запуска Init.
tiles равны нулю между NEW и первым присваиванием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 21:53 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
x77 писал(а):
я могу исходить из того, что они всегда будут равны нулю в момент запуска?


Нет. Там будет мусор, такой же как в C/C++ ;)

x77 писал(а):
или лучше обнулять их самому (если мне надо чтобы они были нулевыми)?


Да, нужно явно инициализировать. Автоматически инициализируются нулями только указатели.

P.S. ИМХО, учитывая претензии оберона к безопасности и надежности - это просто дефект языка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 22:06 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4522
Откуда: Россия, Орёл
Vlad писал(а):
Нет. Там будет мусор, такой же как в C/C++ ;) ...
Да, нужно явно инициализировать. Автоматически инициализируются нулями только указатели.
То что Вы сказали, справедливо для локальных переменных.

Все поля записей, созданных NEW, обнуляются. View = POINTER TO RECORD... может быть создан только при помощи NEW.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 23:15 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8185
Откуда: Троицк, Москва
Vlad писал(а):
... ИМХО, учитывая претензии оберона к безопасности и надежности - это просто дефект языка.

Поскольку не в первый раз тут клеветы, то, воздерживаясь от клевет, в отношении ИМХО позволю себе взаимность:

Так вот, ИМХО, место для Вашего ИМХО в ... каком-нибудь другом месте, более подходящем для клевет.

Компонентный Паскаль (с требованием обнуления вновь размещенных записей на куче) удовлетворяет требованиям уровня безопасности C-не-помню-3-или-4 Департамента обороны США. Что как раз и означает указанное обнуление.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 23:37 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
всем очередное спасибо.

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

но вот почему чтобы запустить программу - её надо сначала выгрузить, или почему в среде нет штатного рэндома - вот это для меня загадко :shock: видимо, не акклиматизировался ещё.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 23:45 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
x77 писал(а):
...но вот почему чтобы запустить программу - её надо сначала выгрузить, или почему в среде нет штатного рэндома - вот это для меня загадко :shock: видимо, не акклиматизировался ещё.


А что такое "запустить программу"? И что такое "программа" в среде BlackBox? Надеюсь, читать документацию к инструменту у дельфистов барством не считается. Главу "Экскурсия" прочитали бы для начала, я уж не говорю про сообщение о языке...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Пятница, 04 Июль, 2008 23:56 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
Иван Кузьмицкий, насколько я понял, программа в среде ББ является его же (ББ) модулем, который , в случае успешной компиляции, автоматом подгружается в среду, тем самым расширяя её функционал. это не снимает вопроса - зачем его руками выгружать? почему нельзя было сделать настройку, которая всегда выгружала бы модуль перед компиляцией новой версии? но это мелочи всё, на самом деле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 00:21 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8185
Откуда: Троицк, Москва
x77 писал(а):
... почему нельзя было сделать настройку, которая всегда выгружала бы модуль перед компиляцией новой версии?

Потому что решить, готова новая версия или нет, может только программист.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 00:25 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Info21 писал(а):
Компонентный Паскаль (с требованием обнуления вновь размещенных записей на куче) удовлетворяет требованиям уровня безопасности C-не-помню-3-или-4 Департамента обороны США. Что как раз и означает указанное обнуление.


У Компонентного Паскаля даже стандарта нет. О каких "официальных" требованиях может вообще идти речь?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 01:18 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
Info21, я же написал - настройку. не нужна - выключил. нужна - включил. большинство коммерческих сред по наличию таких вот мелочей даст сто очков вперёд Блэкбоксу. потому что у этих сред стоит конкретная задача: дать возможность идиоту в максимально сжатый срок решить поставленную задачу. если за среду можно посадить откровенного дауна и он через час покажет форму с педалью "Сделать всё" - то среда состоялась и будет иметь спрос. и для того, чтобы это было возможным - целые лабы морщат моск, в какой цвет покрасить педаль "Пуск", дабы даун её нашёл. в последнее время красят зелёным. понятно, что всё это отрыжки коммерциализации и ваще буржуинская пакость. но как приятно за этими средами работать...

Иван Кузьмицкий, Info21, господа, не обращайте внимания на моё ворчание. меня сейчас всё активно бесит. отсутствие брейкпойнтов декларируется как мегапозитив, а реально - при впадении ББ в бесконечный цикл остаётся только убивать процесс и судорожно вспоминать, когда сохранялся в последний раз. автосохранения нет, видимо, по тем же соображениям - этож только программист знает, надо ему сохраняться или нет. ну почему нельзя сделать кодефолдинг, подсветку синтаксиса, автодополнение кода? почему, если мне нужен тривиальный рэндом, я должен облазить весь форум, наткнуться на пост Ильи Ермакова про игру Lines, предположить, что в этой игре рэндом должен быть палюбому, скачать исходники, обнаружить, что он там есть, и, наконец, возрадоваться? в этом плане Блэкбокс учит системно мыслить стопудово,

короче. когда я, наконец, смогу переделать стандартный калькулятор в пятнашки - я, наверное, громче всех буду щёки надувать, как в Обероне всё круто. пока что на задачу, решаемую на турбопаскале за час - два, угроблен весь день. и ночь впереди. понятно, что среда незнакомая. но она ещё и крайне неэргономичная :/

* ушло за кофе *


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 08:12 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 190
Откуда: Россия, Томск
Цитата:
отсутствие брейкпойнтов декларируется как мегапозитив, а реально - при впадении ББ в бесконечный цикл остаётся только убивать процесс и судорожно вспоминать, когда сохранялся в последний раз.

В версии 1.5 зациклившаяся процедура пользовательского модуля в большинстве случаев корректно останавливается комбинацией Ctrl+Break, т.е. без потери исходного кода. В 1.6, если не ошибаюсь, возможность корректной остановки зацикленного еще улучшена.
Цитата:
автосохранения нет.
выработайте привычку нажимать Ctrl+S перед запуском на пробное исполнение, это совсем просто :)
А для непринужденной выгрузки старой версии машкода модуля прижимайте Ctrl перед кликом по коммандеру запуска новой версии на исполнение. Хотя лично для себя я навесил компиляцию+выгрузку на клавишу F8. Мне так удобнее и ближе к старому-привычному F9 в ТурбоПаскале.
Цитата:
почему нельзя сделать кодефолдинг.
А что это? Поройтесь в коллекции Г.Зинна, там много чего хорошего есть: http://www.zinnamturm.eu/
Цитата:
подсветку синтаксиса.
уже делали (Сергей Губанов, подсистема Master, года 4 назад). Большинство присутствующих, в том числе и ее автор, отвергли, как избыточную фичу. Себе можете поставить и пользоваться. Она легко и гибко настраивается, так что исходный код сможет иметь боевую петушиную раскраску или мягкие пастельные тона, чтобы глаз радовался :)
Цитата:
автодополнение кода?
реализовано Info21 в модуле Edit. Причем Вы можете туда легко добавить любые свои автодополнения/автозамены.
Цитата:
мне нужен тривиальный рэндом
лежит в модуле Random подсистемы Obx.
Цитата:
среда незнакомая. но она ещё и крайне неэргономичная
Я тоже так думал первый месяц знакомства с ББ 5 лет назад. Тогда мне был доступен единственный грамотный и очень терпеливый консультант - Info21. Сейчас возможностей у начинающих программировать на КП/ББ гораздо больше. Так вот мое мнение: аналогичных по качествам языка, совокупной надежности, умной и взвешенной эргономичности, вычислительной мощи и гибкости при весьма скромных размерах систем программирования на сегодня просто нет. Посмотрите презентацию: http://www.pas.rochester.edu/~skulski/P ... _Class.pdf.

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

Кто бы дал денег специалистам на все желаемые доработки и массовое внедрение? У какого правительства/парламента и как выпросить всего-то несколько евролимонов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 09:49 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
А.П., да я уже остыл. видимо потому, что пятнашки сделать получилось :mrgreen:

Код:
StdCoder.Decode ..,, ..aC,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,s8b.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sIdvPZntgcghghZ
 cZRC8T0E.kw8,H.Xf22.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.QXG.,
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.972w,gXEE.0.Qc,U00.bnUGLu8ro8quGrmCL
 WKqtE0E.kHE.0.p.0.4.0EJ2wAC.6.dT.Efl.8Mtr.2.O30E.c4E.k.0.eWwpr,.,6Y1.G,0Ej
 k.810EPk.8I4EpU6V.Y,2.MuBe.4vl5U0Cy2hgqRcjhhhBgiZgZJinpZHZCh0E.4TWKKv.Uio8
 .,cw5.0.d.,.B.,6.K,4,8E,9z4E.0..o16.M.,.1eQHPMNHA0z.U.2GE5kzrobGoemoW0mb8K
 w4nOin4qkYqIcyIdGJECJuGKayqnmGECJu8rouqnCLK0GfaqmQig6ITfQdvQN76BuPR9Rb990J
 tyKsKKtGroKqtmGECoruKu8rrmKqKKtCLK0mX4qqKqt8pkuKmyqqin4qkVyIbCJe0mqqKEqHE0
 pr85RNPPvCP66P6Jn8I986P66,dJHXUgbU2eDBdCZe3JeUYeD3YGhc1xdGZcU2ZKBhZtQR,aGE
 qEE2YUYidZhZRiu2Y,JeGBcN3YoYZo2YDpcUAdCZe3xc3JevgVU2Y3pd2RbBgVKBcGhVU2Yaxh
 iZiu2Y4xhitQRdFTfPin4qk40GE0JdyoVKIWKJdKIE8pkuKmc8,78POMlfC,NGR0AZu2Y7p7kR
 Ef4Idq.,FreHEaIb.EVKoXaIbqEE00ZOFVOF18JP66,VUcP,dCv76b8GTeIdGIKIbGpYKId0GI
 Sokq4.RNJRPOBvPZPP,78H76J76X7AHN8rN1,76,leuIeaIa0Gr0GSqHEqokWrRqEE00ZGeKJd
 uIEWGramRqEEg60Gd4KrkR22PM0VeITuE.FdRp76hOO91ZONb9RTfQ0GIOKR0GfktocmBghhgv
 2YgZZUYig2YmZZUIgu2Y7,AZvg,O3UsZZUAjg2YYJbUAdC,iHECLR0mU.Z7A,tHBmVWoU8pRqk
 28oWSoYM0HcNR7FZPMjfI9vMd98V79,NAN76ddA,d8,NPP99,7B.2ejJCogdZhgZZU2ej,39Pf
 PNHtCPM0HcN..0HK0GO81UoUhhhg2YkY3V0kkCqpamRqk2ocDJeUAjUIbx2Yl2YIxdUYaUYcDh
 V7AVU2Y4xdG3Ys3YugbU..EEAd43YqpZoBhghA,tKl96P76X79,NS,N9,NAv86576V76d8G9eH
 ,N1,76HM0,76Qeo,umYuKuGprCJu8ro66FdRR7R.Ug.gfg2YnBZvgVUM0UapZ2JCUU2Zc2Zs3Y
 h22H76J762Yf2YnAZUIZUgBgVU2YU66..Uc2Zt3Yh.A4.gB.00..68l96J76X,4nI00.66..Uc
 AjUI3X,.P1UU...0prUa,.84..O4.EIM9.X,8nI0GJ0mq.66..Uc2ZtN9.X,.P1UU...WGwI3A
 ZUI3.66..UcADJlM.P1UU...03cN.Ur3hdZiZBZvgVU6600MG2Zt3Yh.YaUQZU2jUgbUoiiYC.
 EK.qJEGJYKYB2222AV7ogi.b8RZ12Zs,0mK0GPaGEeWh,EE...EIc841Qad22q403cMKbg2YnZ
 ZUogjlIin40000MFNuI9O1,76,FEk2....o4.q.22...23MAkNUhVE,MMYZUQig..22kWuYv66
 66MFk2a.90MFR8FPM09eH0WZRCTXvg,H6IZmV..M8WokuKmmqm0JtyKsqotSKEWGf4Id0mqCrn
 eHE0JtyaZ,umaKqtCrkSqmamRqk282ULBdI3dUghnxA..ZONbPOpPNVeQ9fN,7FTO1AVhRibpZ
 aBhshgY3Yug5deIfOFPM0H6T,NPb1.UHBhuhA..wiUIbx2YoIaU66QbUghnxgi2hUIbx.k4ak2
 .p,.cFTvMfvQVeQ9fN.UnhgopcjRgp76pNDG3kWmodKY7A,Rm4UU2dVpB.PWvgVB2YU2eG,kXK
 KuKoq0LuarVKKqmKEWGve1sC,dJ1eIWLK0Wu2Y7V5lIUKl422aKK0GpeHEa2kRqEEI6EEEXy2J
 96pND0HEGpb0mN0GWyIEqEE00,FXko0GRqHE.k40GE0WUU7Fv.QfdZZUIhR3Yx6A,FY.22Ew0G
 RMOrN1EE.n96pVeRbB2222g66666K2..K2,tF99R.sCPM1,76.kVyqq0LqKKuKKm0GIO5kIeHE
 8obyIaKoUuoRqEEo8.l99..,tMp763uH.cE.sM,dCvFekRqEE22B0n141Y422EEo62D..P.00a
 2FVf2Yst6,7CH76B76F78nnKM86B.OLLG5EwkMm0q0vO8,7JF0EE.51OoUmodKoRqEEEEkWsCU
 UMF..UG,sMHtCPU3FECorq4kRqk422.MGRPOd96FdR.in4cJEEMO2jg..sQ.Aak2aUwd4V,,0W
 VJbUIe3BcARbB2230.B0n141.,,22B0l96..PUU66cRR7R.kMm0ki0GRqXkQbB22229Wv.UU2Y
 U2YB22AhUI54nRqEEEXko.,,XNB,7FTO1EEI8V00000WLEEd442YcQadQ5EEkwI5..UUMJUqp3
 .mGEari0mS0Wv.0Wq,.ERMO.9WB229WUAdiBBrN1PM0V0.F,UU.QcoJighdnxgUcNp,QCB0cJ1
 GEq4QcjpB.umaK4sCPM0Hk2...hOEZ86BvP5XucJH1O3amRA,h0b9SN76bPSp761eIEN.A60mo
 mGEeKK0Gwm0NVsZZUYgtZZUohu.UBA,U7.kn..6JZPM5vOPuQ0GWyY766aKEe1PvQDf9l967OG
 h86PPP,7FHeJ4HMin4a.eKEe1kw0GWa2P1MAM1,76,FEwcZ,.,Vg2YY3DM8r76P660WUUB.,lY
 EI4IVCJEWGmWLEqWdBZUgbUAadc7,lU82AjUg3JP8,ND,7AHN8,tHZO1,762268FNEUs,g52Ya
 .kwg3UlM8,7J.22oBpVqp3.79SN76gfvgVUUUUq,.UU..ABgfvg,66cR..0GRqXiRbB22229Wv
 gVB6622HW1xhh7PEEM8,7JFWU.00aIr66sCP.0W3,UUcR8pmCLuEE69,7ANFM6B.NFO.amRqk4
 A,NWBUCN1H.,7G..rV728.YcZ3ijRidZieQbBAVU2YKVqJbU.rN1HcE.,76ROFj86FdRHFEaIr
 a4UKBhZtQGom0rrEEW0PM09eHYcZ3CsCPM0PcE9uFEnyKrGLEenSocjpBbHmaKtuGeWqoCLI8m
 Vyqu8roKKt8GK0mM4HEeGEOorUkxhdphoZZUQjxZZUocj,RvPZPP19PHtCPMFR8FyIlW5RN1Pc
 .,d6TeMlPAYcZ3CEECJuGqVqKmCLLyIsKKr8mR8ssHpmsETfP.sIQcoJigZcZRiX3Ulb8..umV
 yKrG5EWKqtCK.Q6Agd,Um,..Unp3.6F6.ZD,6.636.M00.,..1cUXDJ9XGhighgmRiiQ88pum4
 70,Mwd0UnpZGhighA70,cw5.0.L3D.53,6.CcI,ktumdsIdPSNPN7ONbvM,Mw.ELMSN12Umz.0
 U..2,I92U.E,,.RNEd1U2V.6,6..UYU.AU.U.UkAqO,,sFnQ.GR83U,U,U.2.8Mtr.2..c4E.k
 .Ue6sNQ.E.GD6..mEw716DHxKiEw3c0Cy2xBqqmYCCor..c20.,..W.0.A,6EruQAnW8Utj00M
 y7kx8O0MCT7hw1...
 --- end of encoding ---


а за рекомендации - спасибо :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 10:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8185
Откуда: Троицк, Москва
x77 писал(а):
Info21, я же написал - настройку. не нужна - выключил. нужна - включил. большинство коммерческих сред по наличию таких вот мелочей даст сто очков вперёд Блэкбоксу. потому что у этих сред стоит конкретная задача: дать возможность идиоту в максимально сжатый срок решить поставленную задачу.

Конкретная задача у большинства коммерческих сред обычно совсем другая:
соблазнить идиота выложить деньги. Это совсем другой способ подсчета очков.

Ля-ля про "максимально сжатый срок" заводить не надо. Пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 10:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Цитата:
отсутствие брейкпойнтов декларируется как мегапозитив, а реально - при впадении ББ в бесконечный цикл остаётся только убивать процесс и судорожно вспоминать, когда сохранялся в последний раз


Оборонительный стиль программирования сильно помогает. Проверки предусловий + постусловия. А точку останова можно назначить командой HALT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 10:27 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Про сворачивание кусков исходного текста программы (code folding, да?) есть такая безумная мысль.

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

Если использовать сворачивание, то геометрия нарушается. И в набор содержательных атрибутов исходника начинает входить параметр "свёрнутость\развёрнутость", который портит моё внутреннее представление текста. На это тратится бесценный мозговой ресурс.

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

P.S. А сворачивание текста в Ящике есть. Приспособить фолды для разворачивания перед компиляцией несложно. Вам надо - вы и сделайте. Мне оно нафик не надо :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 10:39 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
Info21 писал(а):
Конкретная задача у большинства коммерческих сред обычно совсем другая:
соблазнить идиота выложить деньги. Это совсем другой способ подсчета очков.

Ля-ля про "максимально сжатый срок" заводить не надо. Пожалуйста.


судя по вашей реакции, тема не новая :)

Иван Кузьмицкий. я пока ещё многого не знаю. несколько дней назад я вообще впервые услышал про Оберон и ББ. позавчера поставил среду, читал доки и тыкал кнопки. ничего не делал. вчера попытался написать программу. когда в среде, претендующий на "совершенство в программировании", по несколько часов пытаешься понять, как сделать простейшие вещи, потому что они нигде нихрена не описаны - это, мягко говоря, раздражает. вот этим раздражением и был вызван вчерашний пост. сейчас, рассуждая уже по свершившемуся факту, мне сложно к чему-то придраться. у меня вообще "писание пятнашек" - что-то типа лакмусовой бумажки. если в незнакомой среде я могу их сваять за вменяемое время - то и среду я выучу за вменяемое время. в ПХП пятнашки сваялись за один вечер. в ББ - раза в три дольше. но доки по ПХП и доки по ББ - это две большие разницы, саму среду тут сложно в чём-то обвинять. на мой взгляд, в доках по ББ не хватает HOWTO. "как вывести графику на экран", "как привязать и настроить просмотр", "как обработать ввод пользователя". вот такой вот ФАК, извините за выражение, мог бы неслабо облегчить жизнь именно тем, кто переучивается. когда человеку надо не тупо заучить всё подряд в рамках школьного курса, а транслировать алгоритмы работы одной среды в другую. но это имха.

ладно, сегодня займусь чем-нибудь повеселее. "Запасайтесь, дьяволы, гробами" (с) Шукшин. ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 10:41 

Зарегистрирован: Пятница, 04 Июль, 2008 09:26
Сообщения: 13
Иван Кузьмицкий писал(а):
P.S. А сворачивание текста в Ящике есть. Приспособить фолды для разворачивания перед компиляцией несложно. Вам надо - вы и сделайте. Мне оно нафик не надо :)


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: инициализация полей
СообщениеДобавлено: Суббота, 05 Июль, 2008 11:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
x77 писал(а):
Info21 писал(а):
Ля-ля про "максимально сжатый срок" заводить не надо. Пожалуйста.

судя по вашей реакции, тема не новая :)


Поясню: взгляните на этот вопрос через призму тезиса "жёсткие временные требования" - "требуется полный контроль над ситуацией" - "нужен полностью предсказуемый инструмент" (образ - автомат Калашникова) :-)

Кстати, кое-какой FAQ есть в Wiki.OberonCore.ru. Вот про рандом бы туда добавит пункт - у кого руки дойдут...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB