![]() |
![]() |
![]() |
|
Морально устаревшие элементы языков высокого уровня | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
12.05.09
✎
09:21
|
Морально устаревшие элементы языков программирования высокого уровня
Языки высокого уровня были задуманы, чтобы облегчить программирование по сравнению с ассемблером и машинным кодом. В этом они достигли достаточно больших успехов. Но для их использования существовало еще одно ограничение – скорость компиляции кода. Поэтому в языках высокого уровня остались элементы, которые нужны только компилятору, но не нужны человеку. Однако сейчас производительность обработки текста программы (компиляции) уже не имеет решающего значения, а каждый введенный программистом символ, наоборот, стоит все дороже и дороже. Поэтому некоторые элементы оформления кода можно считать морально устаревшими. Объявление библиотек и структуры объектов В целях повторного использования кода программа делится на модули или классы. Чтобы собрать эти объекты вместе, нужно указать компилятору, где их искать. Самый логичный с точки зрения программиста вариант – указать, где расположена библиотека ядра, несколько личных библиотек, причем все это указывать в проекте. В самой программе достаточно указать только имя класса. Библиотеки должны быть проиндексированы, чтобы по имени класса определить, есть ли он в библиотеке и должна ли подключаться библиотека. В любом случае имя класса уникально. Однако что мы видим на практике? В Паскале, в Си++ и в Java программист должен явно указывать, какие библиотеки использовать (uses, include и import соответственно). Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), следить, чтобы заголовочные файлы не включались дважды. Одно это отталкивает от Си++, несмотря на все преимущества ООП. В Java можно включать библиотеки верхнего уровня, при этом подбиблиотеки включаются автоматически – по сути, подключаются лишние библиотеки ради упрощения написания кода. Подход хороший, но не идеальный. Идеально было бы определять библиотеки автоматом, по составу классов. Конечно, использование IDE немного нивелирует эти проблемы, но IDE все равно не решает всех проблем, в любом случае человек видит этот лишний, по сути, мусорный код, и тратит на него свое внимание. Программа в любом случае может лучше человека определить, какие модули нужны. Поэтому нужно запретить явное указание библиотек человеком для улучшения читаемости и скорости ввода программ. Объявление интерфейса вместе с реализацией Если объявлять интерфейс класса отдельно от реализации, как это принято в Си++ и Паскаль, код программы увеличивается и по сути, дублируется. Ничто не мешает компилятору собрать объявление из реализации класса. В Java это поняли и поэтому код стал лаконичнее и прозрачнее. В Си и Паскале при изменении интерфейса приходится менять еще и реализацию, т.е. делать никому не нужную, излишнюю работу. Объявление переменных В этом плане отстает только Паскаль. Только в угоду компилятору локальные переменные можно объявлять только в начале процедуры, хотя ничто не мешает определить, сколько локальных переменных используется в процедуре и отвести под них необходимое место. http://sql.ru/forum/actualthread.aspx?tid=663063 |
|||
1
Fragster
гуру
12.05.09
✎
09:27
|
овно. тут и паскаль лучше бейсика будет.
|
|||
2
у лю 427
12.05.09
✎
09:28
|
.
Самый большой пережиток всех языков - это наличие вот таких гениев.... . |
|||
3
Жуть
12.05.09
✎
09:28
|
еще есть морально устаревшие программисты, это куда страшней, я перечислять не буду ))
Я вчера в крупном банке был они сидят в "Досовской" проге, ну и программеры их походу на уровне |
|||
4
Жуть
12.05.09
✎
09:29
|
(2) я тоже самое написал, но более локанично так сказать
|
|||
5
Гений 1С
гуру
12.05.09
✎
09:30
|
Так, эмоции прошли, а по сути. Кто мне объяснит, зачем программист должен выполнять работу компилятора, указывая состав библиотек?
|
|||
6
Медвед1Сник
12.05.09
✎
09:31
|
(0) Еще чуть-чуть и ты станешь Дейкстрой или Кнутом и напишешь свой эпохальный тысячестраничный труд про языки программирования.
|
|||
7
Кириллка
12.05.09
✎
09:33
|
(0)
"...следить, чтобы заголовочные файлы не включались дважды..." - этого делать в "явном" виде не надо уже очень давно. На вскидку помню две методы: через директиву препроцессора #define (что муторно), либо через директиву #pragma once (в начале h). |
|||
8
vde69
12.05.09
✎
09:35
|
>>Объявление интерфейса вместе с реализацией
это называеться "компонента" >>Объявление переменных. Только в угоду компилятору локальные переменные можно объявлять только в начале процедуры, хотя ничто не мешает определить, сколько локальных переменных используется в процедуре и отвести под них необходимое место. это наобород хорошо и удобно, не надо лазить по коду, кроме того всегда можно описать месную переменную (в процедуре) >>Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), открою страшную тайну, это удобно, ибо дает возможность делать библиотеки obj (то-есть поставка классов в скомпелированом виде) ************************************************************ короче как всегда...... даже согласен с Питом |
|||
9
mikecool
12.05.09
✎
09:35
|
(3) как связаны платформа проги и уровень программиста?
|
|||
10
Гений 1С
гуру
12.05.09
✎
09:36
|
(7) Все равно это надо писать ручками: "через директиву препроцессора #define (что муторно), либо через директиву #pragma once (в начале h)."
И инклюды тоже делать ручками, а нах? |
|||
11
Гений 1С
гуру
12.05.09
✎
09:37
|
>> это наобород хорошо и удобно, не надо лазить по коду, кроме того всегда можно описать месную переменную (в процедуре
Да ты что, а почему же тогда в Си++ и Джава ленивые программисты объявляют переменные в любом месте кода? |
|||
12
Гений 1С
гуру
12.05.09
✎
09:38
|
(8)
>>открою страшную тайну, это удобно, ибо дает возможность делать библиотеки obj (то-есть поставка классов в скомпелированом виде) Вде, а что без H-файлов ты не можешь представить, как сделать obj-библиотеку? Воображения не хватает? Еще раз - программисту Паскаля и Си++ приходится тупо выполнять работу компилятора. |
|||
13
v77
12.05.09
✎
09:38
|
автор все таки трахатель, а не программист. хотя может такой же трахатель как и программист :)))
|
|||
14
Гений 1С
гуру
12.05.09
✎
09:39
|
Если так уж нужен H-файл или файл интерфейса, программа могла бы его делать сама, по файлу реализации.
(13) Эмоции, игнор |
|||
15
vde69
12.05.09
✎
09:40
|
(11) почитай про модели использования памяти "Динамическая" "Статическая" может поймешь (так-же как и загрузка классов).
Динамическое выделение памяти под переменную выбирают кучу и выполняються медленнее. короче иди учись а потом критикуй |
|||
16
Кириллка
12.05.09
✎
09:40
|
(8)"это наобород хорошо и удобно, не надо лазить по коду" - ну это ты сейчас холивор начинаешь, причем явно с проигрышной позиции :)
|
|||
17
Asmody
12.05.09
✎
09:42
|
(0) ну ты глянь хоть глазком на python (на ruby не смотри - тебе плохо будет) - хоть поймешь, как современный ЯП выглядит
|
|||
18
vde69
12.05.09
✎
09:43
|
(12) мда...
я тебе передал свою библиотеку obj, допустим ты через инструменты получил список описаных интерфейсов (что-бы обращаться к ней), но представь как ты код напишешь, что-бы другой прог мог понять, что при замене моей библиотеки отвалится то-то и то-то? |
|||
19
orefkov
12.05.09
✎
09:44
|
Всегда поражался способности Гения1С высосать из пальца проблему на ровном месте, которая на самом деле является проблемой исключительно для самого Г1С.
Удивляет, почему народ ведется на всю эту шнягу и пытается ему что-то объяснить и доказать. |
|||
20
Жуть
12.05.09
✎
09:46
|
Нормуль кликуха Г1С
|
|||
21
Кириллка
12.05.09
✎
09:47
|
(12)Видимо, он имел ввиду все-таки не obj, а lib. Т.е. тебе дают библиотеку, которую ты можешь использовать, не динамически линкуя (и оборачивая декорированные/недекорированные методы в гетпроцадресс), а статически и по-человечески, но при этом не видишь реализации библиотеки (по разным причинам).
|
|||
22
Жуть
12.05.09
✎
09:48
|
(9) проги и платформы и уровень программиста очень влияют, если новое не изучать заплесннеешь.
Хотя помню в СССР были уникумы программировали на бумаги и сами код выполняли без КОМПЬЮТЕРА! |
|||
23
Bender_
АцкийРобот 12.05.09
✎
09:51
|
гы...автора угадал...
|
|||
24
Fragster
гуру
12.05.09
✎
09:51
|
(18) зато компилится быстрее
|
|||
25
Lama12
12.05.09
✎
09:52
|
(0) Правильно! Так их! Даешь язык сверх высокого уровня, нового поколения!
Компьютеры уже давно подняли свои мощности. Давно пора переходить с формализованных языков на естественные. Пусть компиляторы сами кмпилируют ту чущь которую им пользователь наговорит. Зачем в этом мире программисты? В стране нехватает нормальных менеджеров. :-) |
|||
26
Жуть
12.05.09
✎
09:54
|
(25) +100
|
|||
27
eklmn
гуру
12.05.09
✎
09:54
|
ЛОЛ
|
|||
28
Жуть
12.05.09
✎
09:54
|
зачем нужны компы, когда за ту же цену можно взять в аренду 100 китайцев на 10 лет и они все исполнят
|
|||
29
eklmn
гуру
12.05.09
✎
09:55
|
Жуть веселит, явно прибавил с десяток годков в карточке
|
|||
30
Жуть
12.05.09
✎
09:56
|
нет мне правда 28 просто я не могу без слез от смеха, читать темы Гения 1с
|
|||
31
Жуть
12.05.09
✎
09:57
|
у меня есть другой ник, я там очень всегда серезно пишу, а под этим только поржать ))
|
|||
32
Joint
12.05.09
✎
09:59
|
(25) ты про 1С что ли? язык сверхвыского уровня - "если фигня тогда"
|
|||
33
Joint
12.05.09
✎
10:00
|
устаревший элемент - английская нотация, пора уже вводить национальные :)
|
|||
34
eklmn
гуру
12.05.09
✎
10:00
|
(30) я тоже на тебя не могу смотреть "без слез от смеха"
|
|||
35
Жуть
12.05.09
✎
10:01
|
(34) ну я рад что тебе настроение поднял :)
|
|||
36
Егор Сергеевич
12.05.09
✎
10:01
|
>>Одно это отталкивает от Си++, несмотря на все преимущества ООП.
Ты вроде в одной из тем писал, что не использовал никогда ООП. Следовательно ты не можешь рассуждать о его преимуществах. |
|||
37
Sserj
12.05.09
✎
10:03
|
Автору ветки необходимо еще раз перечитать основы синтаксиса языков.
На примере Java: Никто не заставляет указывать import в исходниках. Это всего лишь для сокращения ручного ввода. Внимательно изучите понятие "Пространство имен". import javax.swing.JFrame; .... JFrame frm = new JFrame("Мое супер окно"); И JFrame frm = new javax.swing.JFrame("Мое супер окно"); Результат идентичен без так нелюбимых import-ов. |
|||
38
Господин ПЖ
12.05.09
✎
10:04
|
сирожа опять пургу несет в массы...
|
|||
39
Joint
12.05.09
✎
10:04
|
(37) всего лишь? :)
|
|||
40
Vitello
12.05.09
✎
10:07
|
+(38)сирожа мастер по этому делу :)
|
|||
41
Sserj
12.05.09
✎
10:08
|
(39) Ну если Вы укажите еще какой-то смысл import-а в яве буду очень признателен.
|
|||
42
trdm
12.05.09
✎
10:11
|
человек зацикленный на мысли, что в современный компьютер можно напихать оперативки и это все решит не моет по определению считаться квалифицированным специалистом.
|
|||
43
Волесвет
12.05.09
✎
10:26
|
От и дожились до того что появились гламурные программисты)
|
|||
44
Joint
12.05.09
✎
10:29
|
(41) все таки первичный смысл - подключение пакетов
|
|||
45
b_ru
12.05.09
✎
10:29
|
>>В самой программе достаточно указать только имя класса. Библиотеки должны быть проиндексированы, чтобы по имени класса определить, есть ли он в библиотеке и должна ли подключаться библиотека. В любом случае имя класса уникально.
Имена классов не могут быть уникальными, и только поэтому нужны всяческие #include |
|||
46
wuff
12.05.09
✎
10:33
|
(5) - а ты сам разберись, между траханьем, и расскажи нам, всем. почему сотни людей создававших С, С++, Pascal, Delphi, и проч. дали такого маху.... наверное им сразу надо было с тобой проконсультироваться...
(13) - улыбнуло... |
|||
47
Rovan
гуру
12.05.09
✎
10:41
|
(42) точно! надо еще больше скорости процессора !!
|
|||
48
andrewalexk
12.05.09
✎
10:49
|
(43)
:) я бы даже сказал КГлАМурные... |
|||
49
BabySG
12.05.09
✎
12:44
|
(0) Наткнулся на этот перл:
"Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), следить, чтобы заголовочные файлы не включались дважды. Одно это отталкивает от Си++, несмотря на все преимущества ООП." и понял, что дальше можно не читать... Гений, посмотри ТИПОВЫЕ (в терминах 1С-а :)) заголовки и пойми, что написал глупость. |
|||
50
zzzzz
12.05.09
✎
12:56
|
Потешил. А переопределение имен? Причем в разных библиотеках :)
|
|||
51
zzzzz
12.05.09
✎
12:58
|
(13) :)
|
|||
52
Гений 1С
гуру
12.05.09
✎
15:14
|
>>Динамическое выделение памяти под переменную выбирают кучу и выполняються медленнее
Вде, я в курсе про динамическое выделение памяти и статическое. В контексте чего ты меня учить собрался, приведи пример, дядя. >>это наобород хорошо и удобно, не надо лазить по коду Вот именно, тот же IDE может оставить тебе только объявления функций или же сгенерить H-файл можно автоматом, зачем это делать ЧЕЛОВЕКУ? >> ну ты глянь хоть глазком на python (на ruby не смотри - тебе плохо будет) - хоть поймешь, как современный ЯП выглядит Ты еще пролог посоветуй. Я хочу изучать то, на чем смогу работать, а не для познания вообще. >> я тебе передал свою библиотеку obj, допустим ты через инструменты получил список описаных интерфейсов (что-бы обращаться к ней), но представь как ты код напишешь, что-бы другой прог мог понять, что при замене моей библиотеки отвалится то-то и то-то? Аналогично – он получит список интерфейсов так же как и я. В чем проблема? >> Всегда поражался способности Гения1С высосать из пальца проблему на ровном месте, которая на самом деле является проблемой исключительно для самого Г1С. Орефков, пока конструктивного спора не было и ты туда же – троллируешь вместо ответа по существу. Если есть что сказать по сабжу говори, если нет – нафига флеймить? >>Видимо, он имел ввиду все-таки не obj, а lib. Т.е. тебе дают библиотеку, которую ты можешь использовать, не динамически линкуя (и оборачивая декорированные/недекорированные методы в гетпроцадресс), а статически и по-человечески, но при этом не видишь реализации библиотеки (по разным причинам). Я имел ввиду обычное программирование, а не частные случаи. Если у меня есть имя класса, я могу его найти в Lib или OBJ, нафига мне использовать заголовчные файлы? Этим должен заниматься компилятор, а не я. >>зато компилится быстрее Офигеть, стоимость машино-часа на порядки дешевле человеко-часа. Если составить список всех классов по библиотекам, то при поиске библиотеки для класса будет тратиться 0.00000001 секунд. О каких тормозах речь? Ну что за детство? >>Ты вроде в одной из тем писал, что не использовал никогда ООП. Следовательно ты не можешь рассуждать о его преимуществах. В данной статье я пишу не о том, что С++ устарел, а о том, что использование INCLUDE – морально устарело. Читай сабж внимательно. >>Никто не заставляет указывать import в исходниках. Это всего лишь для сокращения ручного ввода. Внимательно изучите понятие "Пространство имен". Да вы чьто. А вот так нельзя (вы что, разницы не ощущаете, батенька): … frm = new swing.JFrame("Мое супер окно"); … frm = new MyFrame("Мое супер окно"); >> Имена классов не могут быть уникальными, и только поэтому нужны всяческие Да вы что, если я разрабатываю свою библиотеку + ядро, я не могу обеспечить уникальность имен классов? Бред. >> ТИПОВЫЕ (в терминах 1С-а :)) заголовки и пойми, что написал глупость Где ты в типовых 1с нашел заголовки? |
|||
53
Гений 1С
гуру
12.05.09
✎
15:32
|
Зачем нужны заголовки и импорты в программах высокого уровня?
В C++ для ООП include используется для включения объявлений классов. После компиляции программа определяет, какие классы используются в программе и собирает их из LIB-библиотек и OBJ-файлов. При этом она сама определяет, из какой библиотеки брать тот или иной файл. Спрашивается – почему нельзя проиндексировать H-файлы библиотеки и проекта и составить индекс используемых классов? Тогда компилятор бы определял, какие классы используются в проекте и сам бы подключал нужные H-файлы. Зачем нужны интерфейсы? В некоторых случаях интерфейсы действительно нужны, когда реализация не задается или откладывается. Но чаще бывает, что реализация известна. Предлагается использовать следующий подход: разрешать описывать реализацию вместе с интерфейсом или по отдельности. Если интерфейс описан отдельно, то реализация выглядит так: #Implementation ClassName Method1 { } Method2 { } То есть в реализации дублируются только название класса (один раз) и название методов, без параметров. Если так уж нужно разделить реализацию и интерфейс. |
|||
54
Sserj
12.05.09
✎
15:37
|
>>Никто не заставляет указывать import в исходниках. Это всего лишь для сокращения ручного ввода. Внимательно изучите понятие "Пространство имен".
Да вы чьто. А вот так нельзя (вы что, разницы не ощущаете, батенька): … frm = new swing.JFrame("Мое супер окно"); … frm = new MyFrame("Мое супер окно"); Заблуждаетесь, это работает. Только нужно писать ... frm = new MySuperLib.MyFrame(..) и в папочке с исходниками должна быть папочка MySuperLib а в ней MyFrame.class ну или класспассе должны быть пути к MySuperLib, ну или javac-ку указать какие либы использовать, а ежли юзать нетбеанс, то он это все еще услужливо и упакует и положит в один каталог dist при билде проекта. |
|||
55
ШтушаКутуша
12.05.09
✎
15:39
|
был такой оператор в Fortrane'е "REWIND" то есть "перемотать"
|
|||
56
ado
12.05.09
✎
15:40
|
Когда первый релиз ЯВУ от гения?
|
|||
57
Гений 1С
гуру
12.05.09
✎
15:41
|
Дьявол в деталях.
Почему я должен писать MySuperLib.MyFrame, а не MyFrame. Что, это задача для ИИ?Я не заблуждаюсь. Я пишу как раз об этом! |
|||
58
Sserj
12.05.09
✎
15:42
|
(57) Простой и очевидный пример MyFrame - ну вот так на вскидку скольким тысячам программистов придет на ум имя MyFrame - еще раз - Пространство имен, не больше.
|
|||
59
Mikeware
12.05.09
✎
15:42
|
(55) Он и в современных стандартах есть...
|
|||
60
Mort
12.05.09
✎
15:44
|
(53) Не поверишь, в С++ можно реализацию сразу описать в классе. Более того можно сделать это в одном большом cpp файле без h.
|
|||
61
ado
12.05.09
✎
15:48
|
(58) Других программистов не существует, есть только Гений ...
|
|||
62
andrewalexk
12.05.09
✎
15:51
|
(61)
:)) значит программистов не существует вообще... |
|||
63
MMF
12.05.09
✎
15:54
|
щас Сирожа плавно перейдет к идее использования вместо идентификаторов - GUID-ов. В этом случае воплотится его голубая мечта - единое пространство имен и никаких коллизий идентификаторов
|
|||
64
andrewalexk
12.05.09
✎
15:57
|
:)
..и "облако тегов"... |
|||
65
trdm
12.05.09
✎
16:00
|
вроде взрослые люди, а позволяете делать из себя клоунов...
|
|||
66
Господин ПЖ
12.05.09
✎
16:03
|
танцорам мешают яйцы, а гениям пространство имен...
|
|||
67
Вик
12.05.09
✎
16:05
|
:-) КонГениальная ветвь!
|
|||
68
Жан Пердежон
12.05.09
✎
16:39
|
(67) скорее УГениальная
|
|||
69
Echo November
12.05.09
✎
16:44
|
(0) "Объявление переменных" - имхо, тех, кто придумал "дружественное" автоматическое объявление переменных нужно жестоко 3,14здить ржавой лопатой. Кто знает, тот поймёт.
|
|||
70
Echo November
12.05.09
✎
16:50
|
(63) " воплотится его голубая мечта - единое пространство имен" - хули тут воплощать - есть JS, там оно единое. Тех, кто его придумал, 3,14здить той же лопатой, что и в (69)
|
|||
71
ado
12.05.09
✎
16:53
|
(69) +100500
|
|||
72
BabySG
12.05.09
✎
16:53
|
(52)
"Я имел ввиду обычное программирование, а не частные случаи. Если у меня есть имя класса, я могу его найти в Lib или OBJ, нафига мне использовать заголовчные файлы? Этим должен заниматься компилятор, а не я." Расскажи, г1с, как ты предлагаешь парсить библиотеки, в которых определены шаблоны классов? Почитай, что это такое и расскажи, как ты видишь реализацию этого... Только вот не надо кричать, что это не используется и подобное - могу тебе выложить код, в котором я это использовал по принципу Qt... "Да вы чьто. А вот так нельзя (вы что, разницы не ощущаете, батенька): … frm = new swing.JFrame("Мое супер окно"); … frm = new MyFrame("Мое супер окно");" Тебе правильно сказали - изучи, как используется пространство имен. Ты можешь объявить, что ты будешь использовать его НЕ явно и вперед. "Офигеть, стоимость машино-часа на порядки дешевле человеко-часа. Если составить список всех классов по библиотекам, то при поиске библиотеки для класса будет тратиться 0.00000001 секунд. О каких тормозах речь? Ну что за детство?" Ты, видимо, не писал никогда ничего серьезного... Есть вещи, которые по часу и более компилируются. "Где ты в типовых 1с нашел заголовки?" Ты тормоз? Найди стандартные библиотеки и посмотри, как там в H-никах сделано, что бы они несколько ра не загружались! У мелкософта есть даже спец приблуда, которая не всеми поддерживается, которая позволяет это реализовать в одну строку. По стандарту ранее - нужно было просто через дефайн сделать. ВЕРДИКТ: НЕ ФИГА НЕ РАЗОБРАВШИСЬ, г1с В ОЧЕРЕДНОЙ РАЗ СЕЛ В ЛУЖУ . |
|||
73
Echo November
12.05.09
✎
17:07
|
Имхо, сложность и машинная ориентированность языка программирования служат своего рода фильтром, отсеивающим тех, кого к программированию нельзя подпускать и на пушечный выстрел. А теперь наплодили кучу "дружественных" языков, пропиарили идею, что всё можно составить из готовых "кубиков", как LEGO - и впаривают, впаривают эти "кубики". А того, что с этими кубиками подчас больше работы, чем над такой же задачей с нуля, никто не замечает. Похоже, программисты начинают исчезать как класс. Точнее, остались ещё люди, которые когда-то искали возможность выиграть лишний байт или лишнюю секунду, но их с каждым годом всё меньше. Новый принцип - "памяти теперь много, сервера шустрые, харды безлимитные" - и 3,14здец. Таблица в каких-то полмиллиона строк сворачивается двадцать минут при том, что компы на порядки меньшей мощности десятки лет назад рассчитывали космические полёты.
|
|||
74
milan
12.05.09
✎
17:11
|
(73) не забивай микроскопом гвозди, и все будет сворачиваться так как надо, ты первый пример такого 3,14ца, жги дальше
|
|||
75
Echo November
12.05.09
✎
17:14
|
(74) А ещё есть пример, когда даже не знают, про что речь, а обоср*ть всё равно пытаются) Рефлекс, наверное)
|
|||
76
milan
12.05.09
✎
17:18
|
(75) Кто-то должен мотивировать на написание оптимального кода ;)
|
|||
77
Mikeware
12.05.09
✎
17:21
|
(73) А зачем знать что-то об индексах? Или о методах сортировки? :-) Главное - верить, что метод Свернуть()работает оптимальным образом, а проиндексироватся по строке бесконечной длины мешают только глупые предрассудки :-))))
|
|||
78
Echo November
12.05.09
✎
17:22
|
(76) Всё равно что, например, на производстве будут вместо требуемой продукции гнать откровенную х*йню, мотивируя тем, что их плохо мотивируют. Если человек, например, хреновый сварщик, его вряд ли возьмут вообще что-либо варить, кроме баланды, несмотря на то, что он "умеет". В программировании же таких примеров великое множество.
|
|||
79
Echo November
12.05.09
✎
17:22
|
(77) Да я не про метод "Свернуть()", а про штатное сворачивание таблицы запроса(
|
|||
80
Echo November
12.05.09
✎
17:26
|
(77) Индексирование по строке бесконечной длины тоже не есть гуд. Мне больше нравится АВЛ-индекс, хранящийся в другой таблице значений, хоть и сложнее реализовывается.
|
|||
81
Гений 1С
гуру
12.05.09
✎
18:47
|
>> Простой и очевидный пример MyFrame - ну вот так на вскидку скольким тысячам программистов придет на ум имя MyFrame - еще раз - Пространство имен, не больше.
Мдя, запущенный случай. Если чувак планирует отнести класс в повторно используемую библиотеку, он не будет его называть MyFrame, тебе не кажется??? >>Не поверишь, в С++ можно реализацию сразу описать в классе. Более того можно сделать это в одном большом cpp файле без h А дальше? Если я хочу этот класс подрубить в другом модуле? В третьем, в четвером, тоже без H? >>вроде взрослые люди, а позволяете делать из себя клоунов... Клоун – это тот, кто сюда пришел и вместо конструктива флеймит. >>Объявление переменных" - имхо, тех, кто придумал "дружественное" автоматическое объявление переменных нужно жестоко 3,14здить ржавой лопатой. Кто знает, тот поймёт. Мдя, ты хоть читал о чем речь. В Си можно переменную объявлять в любом месте, но со строгой типизацией. Пасквилянт? >>Тебе правильно сказали - изучи, как используется пространство имен. Ты можешь объявить, что ты будешь использовать его НЕ явно и вперед. БэбиСГ, я уже и не знаю, как тебе доходчиво объявить. Я не хочу объявлять, что я хочу использовать Namespace неявно, я хочу просто написать имя класса и получить его. Кстати, можно ли указать неявное использование namespace для всего проекта jAVA? >>Ты, видимо, не писал никогда ничего серьезного... Есть вещи, которые по часу и более компилируются. Так объясни мне, какие тормоза при поиске класса? Ну где ночевала твоя логика, дружище? Демагогируешь. >>Найди стандартные библиотеки и посмотри, как там в H-никах сделано, что бы они несколько ра не загружались! У мелкософта есть даже спец приблуда, которая не всеми поддерживается, которая позволяет это реализовать в одну строку. По стандарту ранее - нужно было просто через дефайн сделать. Какие стандартные библиотеки, ты уточни… Если ты про СИ, то я тебе объясняю, что H-файлы нафиг не нужны, они уже морально устарели! >>ВЕРДИКТ: НЕ ФИГА НЕ РАЗОБРАВШИСЬ, г1с В ОЧЕРЕДНОЙ РАЗ СЕЛ В ЛУЖУ Мой вердикт тебе: заплесневелый консерватор >> А того, что с этими кубиками подчас больше работы, чем над такой же задачей с нуля, никто не замечает. Похоже, программисты начинают исчезать как класс. Лажа… Чем проще программировать, тем лучше. >> Индексирование по строке бесконечной длины тоже не есть гуд. Насколько я помню, длина индекса (Б-дерева) ограничена… Поэтому по барабану. Конечная строка или нет. Например, первые 8 символов юзаются для индекса. |
|||
82
Господин ПЖ
12.05.09
✎
18:49
|
>>Если чувак планирует отнести класс в повторно используемую библиотеку, он не будет его называть MyFrame, тебе не кажется
мдя... отвердевание мозговых оболочек? |
|||
83
Гений 1С
гуру
12.05.09
✎
19:06
|
(82) ПЖ или по существу, или проигнорю
|
|||
84
trdm
12.05.09
✎
19:50
|
по существу тебе на скуль.ру разжевали.
|
|||
85
Гений 1С
гуру
12.05.09
✎
19:52
|
(84) еще не разжевали. еще бодаемся
|
|||
86
BabySG
12.05.09
✎
19:58
|
(81) Слушай, ты слепой?
Еще раз мой вопрос: "Расскажи, г1с, как ты предлагаешь парсить библиотеки, в которых определены шаблоны классов? Почитай, что это такое и расскажи, как ты видишь реализацию этого..." Изучи, что это такое, подумай, как это реализуется и, может быть, наконец догонишь, зачем используются заголовочные файлы. Приер второй: С их помощью прекрасно решается задача разделение интерфейса и реализации. Бе всяких хлопот. Попробуй написать множественное сложное наследование и столкнешся с еще одной задачей, которая решается через Н-файлы. ВЕРДИКТ №2: СЛЫШИТ ТОЛЬКО СЕБЯ. ВЫУЧИВ ПАРУ ОПЕРАТОРОВ В ДРУГОМ ЯЗЫКЕ - МНИТ СЕБЯ ГЕНИЕМ. ЗЫ. Ну-ка, г1с, расскажи мне, что может означать такая конструкция (в С/С++) и где может применятся, раз ты такой умный: <Некая переменная> = **<некая переменная>; |
|||
87
trdm
12.05.09
✎
20:04
|
(85) Че непонятно? Почему вместо болтов гвозди не используют и наоборот?
|
|||
88
Гений 1С
гуру
12.05.09
✎
20:08
|
(86) Чувак, все решается очень просто. Если тебе нужно описывать шаблоны классов, юзай h-файлы. Практикам не нужно использовать h-файлы. Мою мысль понял?
|
|||
89
Гений 1С
гуру
12.05.09
✎
20:09
|
986) гыгыгы, ты че меня за лоха держишь.
Если в некой пременной указатель на указатель на переменную, то извлечение значения по двойному указателю (учитывая разный регистр букв в названии переменных), гыгыгы. |
|||
90
quest
12.05.09
✎
20:45
|
(89) а если нет там адреса? Если переопределен оператор * ? ты дол*оеб даже инструкции них*ра не прочитал а туда же - выеживаться
|
|||
91
quest
12.05.09
✎
20:47
|
(90) язык кстати может быть совсем не С/С++...
|
|||
92
i_rodionov
12.05.09
✎
22:01
|
(0) Весь текст от начала и до конца -- страшный бред.
"Языки высокого уровня были задуманы, чтобы облегчить программирование по сравнению с ассемблером и машинным кодом" Нет, совсем нет. "Поэтому в языках высокого уровня остались элементы, которые нужны только компилятору, но не нужны человеку" Бред. В программе вообще человеку ничего не нужно -- все это нужно машине. "Однако сейчас производительность обработки текста программы (компиляции) уже не имеет решающего значения" Дикий бред. Кто пытался собрать ядро Линукс, тот поймет. "В целях повторного использования кода программа делится на модули или классы. " Катастрофический бред. Классы придумали не для этого "Особенно страшно дело выглядит в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), следить, чтобы заголовочные файлы не включались дважды." Тоже бред. Среды разработки уже научились за этим следить сами. Уже устал повторять это слово -- бред. Автор, не пиши больше |
|||
93
Sol78
13.05.09
✎
01:16
|
SQL.ru
> Буквоедство detected. > Да вы што. > Слив засчитан. > проблема надумана и высосана из пальца. > ближе к делу и подальше от демагогии. > Что за приписывания? > Не передергивай [...] Включи мозг. > Понятна мысль? > Мысль понятна? > мысль ты не уловил > даю наводку > Возможно, если я вам скажу [...] вам проще будет понять > Боже ш ты мой, ну что за косность. > Кроме детского-лепета [...] возражений я не услышал. > будьте внимательнее mista: > Демагогируешь > Пасквилянт? > Чувак, [...] Мою мысль понял? > ты меня учить собрался, приведи пример, дядя. > Бред. > заплесневелый консерватор > Лажа… > гыгыгы, ты че меня за лоха держишь [...] гыгыгы. P.S. "включи мозги" и "будьте внимательнее" - http://fixin.livejournal.com/108274.html - "НЕ ТУПИ" (с) |
|||
94
Sol78
13.05.09
✎
01:24
|
SOL.ru
Я не хочу. Не вдохновляет. http://partners.v8.1c.ru/forum/thread.jsp?id=681315#681315 Ответ Сергею Нуралиеву: > Лучше недобдеть чем перебдеть? > Не убедили. |
|||
95
andrewalexk
13.05.09
✎
01:43
|
(94)
:) че там на 1с? |
|||
96
Рэйв
13.05.09
✎
01:49
|
(0)Извини...Не читал всю ветку.
Но прочитал тему. Мне инетерсно.Это не доказательство от обратного?:)).. Если вдуматься ты там ТАКИЕ бредовые вещи говоришь, что я склонлся к мнению:)) |
|||
97
France
13.05.09
✎
01:51
|
в 3.14... автора.
|
|||
98
Ужас бухгалтера
13.05.09
✎
01:58
|
(93) Зашел по ссылке, глянул главную страницу. Обнаружил пост "Отдал телефон дяденьке". Опа, думаю, так вот чем закончилась эпопея "Секс за мобилу", доигрался мальчик... Прочитал пост - ан нет, все оказалось гораздо прозаичнее :)
|
|||
99
Рэйв
13.05.09
✎
02:00
|
(98)...Вах...Ходят и на мисте страшные призраки, грозящие страшной крарой ввиде ссылки на АД!
:) |
|||
100
Aleksey_3
13.05.09
✎
02:00
|
100
|
|||
101
IVIuXa
13.05.09
✎
04:08
|
(0)
вот интересно на том же с++ столько библиотек, причем со скудной документацией, вот у меня стоит задача, чтоб ее решить - мне нужно хотя бы общее представление о ВСЕХ! библиотеках это вообще реально ? |
|||
102
SUA
13.05.09
✎
05:42
|
(101)Гугль?
а о всех незачем - в любом случае (69)+1 (97)автор того и добивается, только в прямом смысле :) |
|||
103
VladZ
13.05.09
✎
05:46
|
(0) Что тебе мешает разработать свой язык программирования, лишенный всех этих недостатков? Ты ж Гений - дерзай!
P.S. А сам компилятор пиши на VB он проще и понятней. |
|||
104
IVIuXa
13.05.09
✎
05:51
|
(102)
ну теоретически возможно изобретение велосипеда..... зачем тогда они все нужны ? оставить только ходовые |
|||
105
IVIuXa
13.05.09
✎
05:53
|
(103)
просто интересно - зачем писать? может хорошо погуглить? :) |
|||
106
SUA
13.05.09
✎
06:24
|
(104)
в базовой версии С++ библиотек немного и книжек по их описанию полно |
|||
107
VladZ
13.05.09
✎
06:54
|
(105) Настоящие гении разрабатывают ПО на СВОЕМ языке программирования! :)
|
|||
108
Череп
13.05.09
✎
06:57
|
(107) Под свои процессоры...
|
|||
109
VladZ
13.05.09
✎
07:01
|
(108) В точку! :)
|
|||
110
IVIuXa
13.05.09
✎
07:04
|
(106)
это понятно, но в принципе нахрена столько библиотек ? мне кажется, что даже разработчики полностью их не используют |
|||
111
IVIuXa
13.05.09
✎
07:08
|
как то юзал среду квест помоему,
так там вообще отказались от написания кода блоки, стрелочки, настройка блоков и т.д. довольно занятно - рекомендую посмотреть |
|||
112
IVIuXa
13.05.09
✎
07:09
|
||||
113
Череп
13.05.09
✎
07:14
|
(111) Ты еще SCADA системы вспомни.
|
|||
114
IVIuXa
13.05.09
✎
07:17
|
(113)
вроде новье - че вспоминать? scada - вроде система во - система диспетчерского контроля и сбора данных |
|||
115
quazare
13.05.09
✎
07:18
|
(0) а я бы отметил, что наооборот, указание тех классов, на которые ссылаются и подключают программисты в своих программах - вещь необходимая. И современное развитие существующих языков (AS3 например) явно указывает на это.
Бейсик 1С ооочень сильно отличается от тех же подходов джава. На сколько я знаю, бейсик не изменился со времен 96 г, когда была "воссоздана" объектная модель MS Visual Basic. Сам Бейсик 1С основан даже не на классах, а на типах (была когда-то давно такая структура). Типы - являются морально устаревшей конструкцией. Достаточно только это понять, чтобы начать пользоваться языком программирования. Одной же теории языка джава посвящены книги по 1000 страниц, можно прочитать ее и только понять основы, без тонкостей... |
|||
116
Череп
13.05.09
✎
07:21
|
(114) Там тоже блоксхемы вместо строк кода, и что? Узкая специфика и из нее им не велезти.
|
|||
117
Череп
13.05.09
✎
07:26
|
+(116) велезти = вылезти.
|
|||
118
IVIuXa
13.05.09
✎
07:41
|
(116)
в квесте довольно много возможностей, но все же на 3d ориентация так что согласен |
|||
119
b_ru
13.05.09
✎
08:27
|
(52)
>>Да вы что, если я разрабатываю свою библиотеку + ядро, я не могу обеспечить уникальность имен классов? Бред. Простой пример #include "mylib.h" заменяющийся на #include "mylib64.h" о чем-нибудь говорит? |
|||
120
Kraft
13.05.09
✎
08:51
|
(0) "в Си++ - программист должен указывать еще и заголовочные файлы (с расширением H), следить, чтобы заголовочные файлы не включались дважды"
Учи мат. часть 8) |
|||
121
BabySG
13.05.09
✎
10:59
|
(0)
ГЕНИЙ, КАК ТЫ ПОНЯЛ - ТВОЙ СЛИВ ЗАСЧИТАН! . |
|||
122
Гений 1С
гуру
13.05.09
✎
17:16
|
(119) О кривости проектирования?
|
|||
123
nop
13.05.09
✎
17:24
|
тупая ветка и розжиг
|
|||
124
bahmet
13.05.09
✎
17:27
|
(4)
"Самый большой пережиток всех языков - это наличие вот таких гениев.... " Это понимать как "Языком деланный"? :) |
|||
125
b_ru
13.05.09
✎
19:15
|
(122) о кривости проектирования чего? :)
|
|||
126
andrewalexk
13.05.09
✎
22:11
|
:)
"недоделанные языки программирования это не страшно... вы главное детей доделывайте... а то потом приходят недоделанные дети и начинают ругать недоделанные языки программирования... и из этого порочного круга никак не выбраться..." |
|||
127
Гений 1С
гуру
13.05.09
✎
23:59
|
(123) поясни, в чем тупость
|
|||
128
Funny
14.05.09
✎
01:34
|
(0) Пипец, не в коня корм, 15 лет достижений в визуальном программировании прошло мимо Г1С. Он всё паскалит USESами!!!
|
|||
129
Funny
14.05.09
✎
01:36
|
(0) Предложение такое. Видно Дельфи, я зря посоветовал. Начни с TurboVision, залезь в исходники и разберись с потрохами. Потом приходи, поговорим про дальнейшее. А то стыдно ребятам из Дельфи показывать, ой стыдно!!!
|
|||
130
Череп
14.05.09
✎
04:18
|
(129) Он там на этапе дефайнов запутается....
|
|||
131
andrewalexk
14.05.09
✎
08:52
|
(129)
:) нее он даже оболочку ща не запустит под висту.... |
|||
132
Череп
14.05.09
✎
09:03
|
(131) Для таких веще придумали vmware, dosbox и куду других эмуляторов.
|
|||
133
Echo November
14.05.09
✎
09:06
|
(105) "зачем писать? может хорошо погуглить?" - в эпиграф. Желательно в эпиграф мисты)
|
|||
134
andrewalexk
14.05.09
✎
09:06
|
(132)
:)) ты льстишь гению... |
|||
135
Гений 1С
гуру
14.05.09
✎
09:19
|
(129) Зачем? Ты же уже разобрался с потрохами, вот и объясни, в чем я не прав.
|
|||
136
marvak
14.05.09
✎
09:25
|
(0) Блин, Гений, ну почему у тебя всегда такие скучные темы?
как вижу автора темы, сразу читать дальше не хочется. :( |
|||
137
luns
14.05.09
✎
09:30
|
пример как фиксин доказывает свои идеи... (это доказательство не его, но стиль схож):
Долгое время шли споры относительно того будет Вселенная бесконечно расширяться или её расширение остановится Теорема: Вселенная бесконечна и бесконечно расширяется. Доказательство. Для начала представим жопу. Обычную жопу - в узком смысле этого слова. (Жопой в узком смысле слова будем называть соответствующий человеческий орган. Жопой в широком смысле слова будем называть.... в общем ПОЛНУЮ ЖОПУ. Например: "жо_па хочет какать." - в узком смысле, или "Я вчера машину разбил - вот жо_па-то!" - в широком смысле) Так вот, представим жопу. жо_па - это жо_па. Очевидно. Теперь представим себе отсутствие жопы. Если у нас нет жопы в узком смысле этого слова, то для нас это - жо_па, притом уже в широком смысле этого слова. Таким образом, отсутствие жопы есть жо_па. Теперь обратимся к математической логике. Согласно ей, для любого элемента G имеем G+(-G)=1, где -G - "не G", 1 - универсальное множество, включающее в себя всё, тождественная истина. Исходя из этого получаем что жо_па+не жо_па=универсальное множество, так как всё во Вселенной есть либо жо_па либо не жо_па. Но по уже доказанному выше имеем, что не жо_па - это так же жо_па. Таким образом, всё во Вселенной есть жо_па. Во-первых, обратимся к теореме о бесконечности жопы. Она гласит что жо_па бесконечна. (Напомню, доказывается она от противного: предположим, что жо_па конечна - тогда она имеет конец, но на самом деле наоборот конец имеет жопу, следовательно пришли к противоречию и от противного доказали что жо_па бесконечна) Так как всё во Вселенной есть жо_па и жо_па бесконечна, имеем что Вселенная бесконечна. Теперь перейдём ко второй части нашей теоремы: докажем что Вселенная бесконечно расширяется. Для этого обратимся к производной. Напомним, что всё во Вселенной - жо_па. Рассмотрим её как функцию и рассмотрим её производную. Производит жо_па гов_но. Таким образом, производная жопы есть гов_но. Исследуем теперь гов_но как производную от жопы. гов_но неотрицательно, следовательно, жо_па не убывает. Но так как гов_но не равно тождественному нулю (в противном случае говна не существовало бы и жо_па не имела бы производной, но мы её уже продифференцировали). Таким образом, гов_но строго положительно. Таким образом жо_па возрастает. Таким образом Вселенная - бесконечна и бесконечно расширяется, что и требовалось доказать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |