C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

стр.: (2) < 1 [2] >
Почему у С++ нет будущего?
Asher
Отправлено: 22.06.2004, 10:48


Мастер участка

Группа: Модератор
Сообщений: 550



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

а гайки откуда берутся? cool.gif И главное на чем их делают?

QUOTE
Минус — в компактных накопителях энергии. Очень серьезный минус

а еще их заряжать надо. И... о чудо — чтобы получить эл.энергию надо сжечь топливо... Круг замкнулся. (Солнечные и ветроустановки не в счет — это доли %)

P.S.
Я сам на VB год проги писал — когда пересадили (типа временно) с контроллеров на верхний уровень. И наклепал пяток мелких проектов.
А вот когда встал опрос о повторном использовании и коллективной работе — тут все и повяло.

С++ — УНИВЕРСАЛЬНЫЙ язык. И это уже давно не С (на который вы постоянно ссылаетесь в страшных примерах). И если специально не изгалятся — то проблем никаких не будет. Зато в случае чего, кое где, если сильно надо будет — можно будет и извернутся. biggrin.gif biggrin.gif biggrin.gif

P.P.S. Вы когда нибудь видели токарный или любой другой металлообрабатывающий станок?
Они с эл. двигателем — однако редуктор там наличествует. причем немаленький. С чего бы это? wink.gif

Отредактировано Asher — 22/06/2004, 13:05
Nick
Отправлено: 22.06.2004, 13:18


Машинист паровоза

Группа: Участник
Сообщений: 247




"У меня на VB+MS Access написано и работает в моем банке около 10 программ. И есть довольно-таки сложные , "

Прекрасная фраза.

На BCB я сделаю формочки и отчетики побыстрее чем в Access,
причем чем больше функциональность тем быстрее,
еще один плюсик, много правил можно хранить на сервере (FireBird) и некоторые ошибки и доделки не требуют перекомпиляции кода.

Вообще не знаю, что тут говорить.
Если не компилировать MDB в .EXE или в .MDE любой ламер влезет в код или таблицу и все тебе похерит (это очень надежно). Если делать компиляцию то теряется преимущество "можно подправить прямо на месте" на виду у этих куриц бухгалтерш, которым все надо быстро (кофе стынет).
Там правда есть крутейшая защита паролем.
У меня практически все уже знают как его обойти.

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

Не смог я с достаточной надежностью сделать распределенную базу сети магазинов работающих в RunTime.
Извините.

Счас у меня это есть но не на VBA
И я чувствую себя спокойней.

Nick
Отправлено: 22.06.2004, 14:06


Машинист паровоза

Группа: Участник
Сообщений: 247



Да, я думал у нас в банковской системе все автоматизировано и стандартизировано.

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

В сберкассах (у нас) я наблюдаю программы под дос их никак на VB не напишешь.
Ну на С их тоже не пишут в основном, тогда это было искуством, высшим пилотажем.
А писали на Cliper (эпоха Dos)
BlackDragonX
Отправлено: 22.06.2004, 15:40


Не зарегистрирован







Про банки?? Хе-хе! Еще как используют дядю Билла!
У Центробанка, который рассылает свои проги в принудительном порядке и принуждает их использовать для отчетности нет НИ ОДНОЙ мимо Билла Гейтса!
Так что Юникс летит как фанера над Парижем!
А распредленная база в RunTime? Это вовсе не вопрос Access или FireBird, а вопрос знания языка, извините. В самом простом случае Берешь MS SQL и все прекрасно прыгает smile.gif И не один день...
Кстати 5NT DiaSoft (банковская система) под ним и шевелится. Кстати, среди наиболее распространных Банковских систем 80% угадайте под чем работает?
Насчет универсальности С. Это огромный +. Огромный. И заслуги С несомненны! Но универсализм имеет неслабую обратную сторону — неудобство использования (представьте как удобно использовать молоток, совмещенный с дрелью, пилой и рубанком)
Кстати, насчет батарей. Ветро и Солнечная энергетика далеко не такая уж крохотная доля. Да еще Вы забыли гидро и атомную энергетику, кстати.
Потом не забывайте, топливная энергетика распространена не из-за ее прогрессивности, а из-за своего порочного круга.

Я тоже в свое время веселился на ассемблере в PDP-11 (вот уж был нормальный ассемблер и нормальная архитектура!). Но кроме удовольствия от компактной и сврехбыстрой программы существует соврешенно неитересная и нетворческая но необходимая обязаловка (разница как между рисованием и малярными работами)
И не хватало, чтобы при создании баз данных я бы размышлял об адресации указателей, а также следил за разницей между именами netFile и netFIle. Эти вещи хороши в увы, ограниченных случаях.

С Уважением!
Nick
Отправлено: 22.06.2004, 17:28


Машинист паровоза

Группа: Участник
Сообщений: 247



Про то что банки пользуются продукцией дядюшки ооочень интересная инфорамация для хакеров.
мистер дырявый MS SQL вкупе с такой же операционкой.
ОЧЕНЬ НАДЕЖНО.

я в курсе что такое трехуровневые приложения плоские таблицы созданные парсером.

Видел прекрасную работу 1С MS SQL версии
вsборка благополучно получается с "некоторой задержкой"
клиенты не должны нервничать.

Не знаком с этой банковской системой, но врядли она написана на VB, то что по SQL это конечно не удивительно.

Есть дрель-молоток, на нее также можно навесить и пилу и рубанок и др.вещи. Есть такие наборчики.
Их ругают, но только потому что у нас в россии счас в основном дешевое китайское дерьмо.

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

В VB приходилось извращаться.
Только извращения были другого плана.
Для этого требовались не малые ресурсы и все равно наблюдались нормальные тормоза.

Кто ж не баловался в асме, если только совсем молодые, так они и дос тоже не видели.

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

Попробуй это сделать в VB.

Я вообще еще спросить хотел.
Вы господин хоть пробовали в BCB 6 хотябы поработать.
Или в SQL (даже в MS) несколько запросиков сделать или только мышой в Access "Преобразовать базу к MS SQL" и никаких проблем.
об остальном дядюшка позаботился.







Guest
Отправлено: 22.06.2004, 19:14


Не зарегистрирован







Ну...
Про надежность... дяди Билла и MS SQL.. Зубоскалить вы можете сколько угодно, но на виндах и ms sql сидят не только российские банки.
И очень надежно делают на это деньги, уж поверьте. Сам варюсь в этой кухне. Вообще слухи о смерти Виндов, (как и о смерти C++) сильно преувеличены. А Вин2000 по соотношению удобство работы+надежность+кол-во приложений уделает любой Юникс. Любой. Только обратите внимание — принимайте во внимание все три параметра. По отдельности вряд ли. А по совокупности — равных нет.
Насчет 1С. Тут классический пример универсального комбайна, который жнец и швец и туда и сюда и вообще бегемот на балете.
Неторопливый отклик, говорите? Хе! Я видел писаную (именно писсаную) программу "Эмитент" (Дельфи+БДЕ с парадоксом). Вот где был нетопроливый и счастливый (gluk .нем. — счастье) отклик! Или "Анкета ФКЦБ" Там кстати, Visual C.NET, кажется. Еще один урод(это я про программу ФКЦБ), который жрет столько, сколько ни одному malloc и в страшном сне не приснится!
Так что опять упираемся в кривые руки и прямые извилины. Но если синтаксис потакает криворукости- это просто кошмар.
Тут вот говорили об ответственности в С. СОгласен! На все регистры Opteronа согласен! Но где она эта ответственность?? Где? У программистов Центробанка, например? Пусть лучше они на gw-basicе пишут, исправить будет легче. За этот язык пускать можно только после официальных экзаменов и трехлетних испытаний на внимательность.
А то выучив printf и смутно представляя чем указатель отличается от регистра, некоторые начинают работать в гос.учереждениях и навязывать свои ублюдочные творения несчастным подчиненным.
К сожалению, я знаю о чем говорю, так как имею несчастье общаться с творениями таких гениусов, которые конечно же, пишут только на С.

Или железобетонный SWIFT. Он написан на С. Он надежен донельзя. В его разработку вложено туева хуча бабла.( за один трафик банк платит немеряные деньги. Инсталляция минимального комплекта стоит десятки тысяч этих самых крокодилов!) Но его интерфейс вызвает у неподготовленного пользователя просто судороги! Его упадочная скорость работы впечатлит даже закаленного 1С бухгалтера.

Руки и голова — вот это самое главное.

О сомнениях в моих способностях... Не страдайте снобизмом — я
SQL запросы прекрасно могу и руками писать... И SQL базы из MDB никогда не переделываю, а делаю с разбегу в SQL Enterpraise Manager.
Если у программиста бизнес-приложений возник зуд поизгаляться с массивом в асме, что-то у него с тех.заданием не то. Либо схема приложения неверна, либо он стал сам гайки отливать и болтики вытачивать... Они наверняка лучше заводских будут — но трата времени совершенно ненужная.
То, что Вы не размышляете над адресацией — это замечательно. Я искренне рад, что вы так квалифицированы. Увы, масса других ( я уже говорил выше) тоже не размышляет, только в другую сторону.
Кстати, мне в разработке всех бизнес-программ ни разу не приходилось извращаться. Может я неверную версию Access юзаю?

Про BCB.
Мне хватило неоднократных попыток наваять что-либо в Visual C.
Его синтаксис у меня вызвает идиосинкразию. Мне нравится программировать, а не читать иероглифы. Я еще понимаю Дельфи или там даже Java. Хотя ее {} тоже уродство. smile.gif (Шучу!)
Я вот думаю, чего это создатели С использовали такие слова как for,while, if и т.д. Надо было оставить кратко w, i, p (printf) ну и так далее. Текст программы был бы еще компактнее.. Вместо = лучше была бы точка smile.gif
Уф! Все это жукое имхо.
А вообще я перед талантливыми С программистами снимаю шляпу. Я искренне восхищаюсь такими мастерами, которых остается все меньше...


Nick
Отправлено: 23.06.2004, 08:27


Машинист паровоза

Группа: Участник
Сообщений: 247



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

BDE+Paradox действительно плохо, во первых Paradox вообще не предназначен для сетевых приложений, во вторых еще из Доса помню как болезненно он относится к внезапному отключению питания.

Visual C.NET это прод мелкосовта кажется.
Интересно сколько ресурсов будут жрать описанные вами продукты переделаные на VB.

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

Нет уж пусть пишут на С, на VB кажется тоже криворучек не мало.
Да и поправить наверно сможет каждый на свой лад

Visual C и BCB совсем разные вещи.
Visual C больше подходит для утилит и драйверов,
и код у него получается меньше и быстрее,
а BCB для бизнес приложений и все это только набором инструментов.
В обоих IDE можно писать и то и другое.
А BCB можно писать и кросс платформенные приложения которые в под Linux только скомпилировать и будет пахать.

Вы на сайте BCB и излагаете свое мнение даже его не видя.

У каждого свое мнение на синтаксис.
Мне ОЧЕНЬ НРАВИТСЯ С
перешел на него с паскаля еще в Дос и
замена Begin End на {} меня наоборот восхищает.

если вам нравится такой синтакис
EsliSravnenieVerno
пишите
#define EsliSravnenieVerno if
и дальше на здоровье как ва хочется
по русски наверно не получится, не пробовал.


работал я и на Pascal и на PAL Paradox и VB Access и в классическом Basic (ДВК)
не слова не скажу про ублюдочность этих языков практически похожи все.
Бешенство у меня вызывает только действительно ублюдочный синтаксис 1С (русский) и очень "удобный" его редактор, "прекрасный" набор элементов и т.д. и т.п. конечно когда он только вышел это было круто, но не счас.

Насчет извращений в Access.
Я там для АВС делал график, наверно это не извращение в Вашем понимании, засунул в форму график.
Это было круто но очень тормозно.

В новом проекте я очень быстро сделал подобное, но без тормозов.
не из за того что скомпилированный код работает быстрее, а потому что был реализован другой метод построения НЕДОСТУПНЫЙ В VBA.
Хочу предупредить этот график не обычные столбики, а две кривые движение товара по регистру приход, расход и предполагаемой потери прибыли из расчета средней продаваемости товара.

Было еще что-то но я уже не помню и поднимать архив не хочется.












AVC
Отправлено: 23.06.2004, 08:27


Ветеран

Группа: Модератор
Сообщений: 1583



Интересно получается — мне еще не попадались программисты, владеющие C или C++, которые бы очень активно не принимали другой язык и пытались бы просто так потыкакть носом его пользователей. "Пиши на чем хочешь, твое дело". Обратную ситуацию я наблюдаю чаще. Даже в учебниках по языкам. Все таки C это свобода и демократия не только в коде но и в умах.
UA_Freeman
Отправлено: 23.06.2004, 10:44


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Действительно, если кому-то не нравится { } напишите
CODE
#define begin {
#define end }

а ещё
CODE

#define procedure void
#define integer int

И пиши себе на здоровье
procedure bar(integer i)
begin
....
end;

И не надо хаять то, чего не понимаешь!
Gedeon
Отправлено: 23.06.2004, 14:14


Ветеран

Группа: Модератор
Сообщений: 1742



Тут добавить хочу по поводу продуктов дядюшки smile.gif . Для каждой задачи своя ОС своя БД, своя сеть и т.д. Господа которые варятся в банковской кухне это где ж такой банк в котором только одна БД? По поводу ос и говорить не буду какая где должна стоять, 100 раз спорилось и единого ответа нет. По поводу серверных БД там, как и с ОС все зависит от того какой АДМИН и как он ее знает. Там где очень важные задачи стоит ORACLE и клиенты все на ++ пишутся, в таких задачах с челом который бэйсик хвалит и говорить не станет никто (по крайней мере там, где я работал). Других языков не отрицаю, правда не раз писал — пасквиль ненавижу, на бэйсике удобно поделки всякие делать например для управления теми же офисными приложениями(генерация отчетов в их формате и т.д.) в остальном просто не вижу его преимущества над ++, а как с апи там работать удобно biggrin.gif , еще {} им не нравятся biggrin.gif . По поводу того, что в каких-нить верхних организациях сидят псевдопрограммеры и всех вынуждают их "шедевры" использовать (с привычным обновлением раз в день smile.gif ) с этим приходится мириться — наследование бездарного выбора руководства (может быть из-за недостатка кадров), будем надеяться скоро пройдет.
Георгий
Отправлено: 25.06.2004, 09:26


Почетный железнодорожник

Группа: Модератор
Сообщений: 874




Нашел одну статейку:

http://www.computerra.ru/think/34354/
QUOTE
C++ulture
Автор: Зверёк Харьковский
Опубликовано 24 июня 2004 года

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

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

Бывают такие, в которых черт ногу сломит, — и на них пишет полмира (программистского, естественно, раз уж мы о языках программирования), но никто не любит.

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

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

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

Каждый язык программирования — из тех, в которые влюбляются, — порождает свою культуру. Совершенно так же, как человеческий язык. У него есть свой букварь (Кафедра программного обеспечения, курс "Язык С++", 48 часов). Но это — только самое-самое начало. Есть лексика — и даже нецензурная (скажите опытному программисту на С++ магическое слово goto, только с безопасного расстояния) — как и в естественном языке, иногда она бывает к месту. Есть синтаксис. Это всё вещи понятные, относительно легко изучаемые и относительно легко формализуемые. Именно поэтому можно автоматизировать проверку синтаксической и лексической правильности как программы, так и данной статьи.

Но и это всё — лишь начало. Ни "Война и мир", ни "безбашенная" проза Харуки Мураками, ни Linux не являются математически стройными системами. Их нельзя назвать написанными "правильно" или "неправильно". Более того, и то, и другое, и третье можно было написать несчетным (в математическом, а не поэтическом смысле этого слова) количеством способов — но написаны (и ценны) они именно такими.

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

У C++ есть свои идиомы — краткие, но очень емкие конструкции. Есть традиции — и возможность плевать на них. Есть свобода выбора стиля. Есть возможность разными словами написать одну и ту же фразу. Есть классика — и есть классики: Бьярн Страуструп, Джефф Элджер, Герб Саттер, Николай Джосаттис. На этом языке можно сказать двусмысленность — и не получить линейкой по рукам от компилятора (...а потом трое суток искать, почему программа вылетает, когда i=17). Здесь есть место творчеству, здесь есть место спорам, здесь есть место 48-часовым марафонам по отладке программ. Есть тонкости, доступные только снобам. Здесь нет только одного — места, где можно было бы остановиться и сказать: всё, ничего нового для меня в этом мире не осталось.

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

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

Я — программист. Мой любимый язык — С++. Это отвратительный язык. Я могу сказать на нем любую глупость. Мне не помогут и двести книг. Девятый вариант строчки тоже не сработал. Я безнадежен.

- Из журнала "Компьютерра" от 08 июня 2004 года.

Gedeon
Отправлено: 25.06.2004, 11:09


Ветеран

Группа: Модератор
Сообщений: 1742



Просто СУПЕР!
Sl@Sh
Отправлено: 27.07.2004, 07:40


Мастер участка

Группа: Участник
Сообщений: 383



У С++ нет будущего!
У С++ нет будущего!?
У С++ нет будущего?

У С++ одно будущее -> Паразитирование в компьютерной индустрии многочисленной банды под названием Microsoft, станет причиной страшной мутации : "++" мутирует в "#".

Вот так, а вы говорите будущего нет smile.gif
Nick
Отправлено: 04.08.2004, 14:07


Машинист паровоза

Группа: Участник
Сообщений: 247



Читаю книгу Бьерн Страуструп.

Там приведен код копирования строки

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

inline void cpy(char* p, const char* q)
{
while (*p++ = *q++) ;
}

Язык С++ (подобно С) имеет как сторонников, так и противников именно
из-за такого сжатого, использующего сложные выражения стиля
программирования. Оператор
while (*p++ = *q++) ;
вероятнее всего, покажется невразумительным для незнакомых с С.
---
нашего товарища эта строка приведет в ужас наверняка


UA_Freeman
Отправлено: 04.08.2004, 14:49


Дежурный стрелочник

Группа: Участник
Сообщений: 31



QUOTE (Nick @ 04/08/2004, 14:09)
Оператор
        while (*p++ = *q++) ;
вероятнее всего, покажется невразумительным для незнакомых с С.

Чесно говоря, мне этот оператор тоже представляется невразумительным smile.gif При том что у меня пятилетний опыт программирования на C/C++, хы-хы
Другое дело что это яркий пример плохого стиля, и язык тут ни при чём.
Плохой стиль можно продемонстрировать на любом языке, и это не повод кричать, что этот язык — бесполезный отстой
Nick
Отправлено: 04.08.2004, 16:02


Машинист паровоза

Группа: Участник
Сообщений: 247



Не считаю что это плохой стиль.
Это красиво.
---------------- продолжение ---------------
Сначала рассмотрим более традиционный способ копирования массива
символов:
int length = strlen(q)
for (int i = 0; i<=length; i++) p[i] = q[i];
Это неэффективное решение: строка оканчивается нулем; единственный
способ найти ее длину — это прочитать ее всю до нулевого символа;
в результате строка читается и для установления ее длины, и для
копирования, то есть дважды. Поэтому попробуем такой вариант:
for (int i = 0; q[i] !=0 ; i++) p[i] = q[i];
p[i] = 0; // запись нулевого символа
Поскольку p и q — указатели, можно обойтись без переменной i,
используемой для индексации:
while (*q !=0) {
*p = *q;
p++; // указатель на следующий символ
q++; // указатель на следующий символ
}
*p = 0; // запись нулевого символа
Поскольку операция постфиксного инкремента позволяет сначала использовать
значение, а затем уже увеличить его, можно переписать цикл так:
while (*q != 0) {
*p++ = *q++;
}
*p = 0; // запись нулевого символа
Отметим, что результат выражения *p++ = *q++ равен *q. Следовательно,
можно переписать наш пример и так:
while ((*p++ = *q++) != 0) { }
В этом варианте учитывается, что *q равно нулю только тогда, когда
*q уже скопировано в *p, поэтому можно исключить завершающее
присваивание нулевого символа. Наконец, можно еще более сократить
запись этого примера, если учесть, что пустой блок не нужен, а
операция "!= 0" избыточна, т.к. результат условного выражения и так
всегда сравнивается с нулем. В результате мы приходим к
первоначальному варианту, который вызывал недоумение:
while (*p++ = *q++) ;
Неужели этот вариант труднее понять, чем приведенные выше?
--------
и вряд ли это можно на VB
Георгий
Отправлено: 04.08.2004, 19:16


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



CODE
while (*p++ = *q++);
тоже не считаю такую запись плохим стилем — коротко и ясно, но сам написал бы так:
CODE
//описание: цикл копирования строки оканчивающейся нулём
входные данные: p — указатель на начало (первый байт) приёмного буфера; q — указатель на начало копируемой строки
выходные данные: p и q указывают на следующий байт после скопированной и исходной строк соответственно
особенности: не выполняется контроль переполнения буфера; копируются все байты исходной строки включая оканчивающий байт с нулевым значением
while (*p++ = *q++);
есть ведь небольшая разница?
а ещё можно выпендриться:
CODE
for(;*p++ = *q++;);
biggrin.gif

Отредактировано Георгий — 04/08/2004, 20:20
Nick
Отправлено: 05.08.2004, 07:34


Машинист паровоза

Группа: Участник
Сообщений: 247



Я привел текст из книги
Asher
Отправлено: 05.08.2004, 09:39


Мастер участка

Группа: Модератор
Сообщений: 550



Вот. Языки программирования через 100 лет
Стоит прочесть. Делая поправку на дисклаймер о авторе wink.gif
olegenty
Отправлено: 03.11.2004, 10:42


Ветеран

Группа: Модератор
Сообщений: 2412



Вчера при очередной попытке вникнуть в "Modern C++ Design" Александреску, вник и подробно проникся (при этом сразу нашёл несколько решений своих старых проблем, на днях проверю).

материал книги — контраргумент против
QUOTE

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

тут такой поток, что поточнее даже помыслить сложно...

самое интересное, что всё это так обстоит уже не один десяток лет, а познавать всё приходится самому. нигде в регионе нет ни одной конторы, которая повышала бы квалификацию программиста до уровня автора книги.
Георгий
Отправлено: 07.11.2004, 16:50


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



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

появление одноразовой программы:
вариант "а" (решение с нуля):
1. "хотелка" (идея) заказчика переданная нам вместе с самим заказчиком
2. реализация эскиза (первой версии ПО) по принципу вроде работает — вот и хорошо
3. уточнение деталей и латание дыр (ой, простите — "внесение корректив в программные средства по результатам испытаний")
4. общий восторг, что это всё работает. (про себя думает — а почему вот это мигает вот так? а эта кнопочка вообще залипла")
итого — ресурсов потрачено 4Х

вариант "б" (решение задачи несколько отличающейся от уже решённой):
1. выделение отличающихся "хотелок" заказчика от того, что уже есть
2. эскиз фактически делать не надо (показываем, что было сделано в варианте "а")
3. дыры латаем как обычно
4. типа сдали
итого — ресурсы около 2Х

вариант "в" (заказчик хочет всё расширить и в глубь и в ширь — была система диспечерского управления на 1 узел и умеющая работать только с одним УСО, а теперь хочется на 4 узла с режимом дублирования и т.п.)
1. примерно тоже самое, что и в "б"
2. делаем эскиз
3. всё ещё делаем эскиз
4. эскиз...
5. ну и ***ня получилась, но вроде пашет (главное, чтоб дождь не пошёл smile.gif
6. дождь пошёл — пусконаладочные работы
7. всё ещё налаживаем...
8. сдали!
9. чёрт! пусконаладочные работы..
итого — ресурсы около 9Х + потеря репутации
ещё одна хотелка, расширяющая вариант "в" приведёт к увеличению затраченных ресурсов примерно до 20х

появление многоразовой программы:
вариант "а"(условия см. выше)
1. как и раньше
2. анализ задания
3. уточнение результатов анализа с заказчиком
4. анализ структры требуемых модулей
5. реализация модулей
6. тестирование модулей
7. сборка и демонстрация эскиза заказчику
8. реализация и тестирования доплнительных модулей (реализация пожеланий заказчика)
9. сдали.
итого — ресурсы 9Х + необходимость использования квалифицированной раб. силы — без опытных проект-менеджера, сис. аналитика и тестера (пусть и в одном лице) не обойтись
что приводит к фактической цене 15-20Х

вариант "б":
1. поверностный анализ
2. сборка из имеющихся модулей того, что хочет заказчик
3. сдача
итого — ресурсы ~2Х + поправка на дорогую раб. силу.

вариант "в":
1. анализ структры требуемых модулей
2. реализация модулей
3. тестирование модулей (в том числе и регрессионное)
4. сборка эскиза
5. пусконаладочные работы
6. сдали
итого — 6Х

а теперь взгляд со стороны денег:
этап — деньги
а — денег нет
б — пошли какие то продажи
в — вовсю раскрутились

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

Кстати не хотите посмотреть, где в последний раз работал автор книги? случайно не в московском центре SPARC технологий?

ещё вопросы есть по поводу контор, где можно научиться нормально создавать ПО? biggrin.gif



посыпаю голову пеплом — перепутал Андрея Александреску с Борисом Фомичёвым.
Андрей Александреску, автор "Современное проектирование на C++", работает в RealNetworks
Борис Фомичёв, разработчик библиотеки STLport, работал в Московском центре SPARC технологий (www.elbrus.ru)

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

Отредактировано Георгий — 09/11/2004, 22:55
стр.: (2) < 1 [2] >
Вернуться в Компьютерный юмор и приколы