|
Внутренний язык программирования 1С 8.3 | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
golem14
19.07.16
✎
08:44
|
Внутренний язык программирования 1С 8.3. Если посмотреть на него с позиции современных языков, он действительно так плох как его ругают некоторые, или это всё-таки от незнания.
|
|||||||
1
oslokot
19.07.16
✎
08:46
|
началось..
|
|||||||
2
Smit1C
19.07.16
✎
08:47
|
понеслось
|
|||||||
3
orefkov
19.07.16
✎
08:47
|
Кто ругает то?
Эстеты с хабра? |
|||||||
4
Jokero
19.07.16
✎
08:47
|
ООП!
|
|||||||
5
Mort
19.07.16
✎
08:50
|
Цикл и условия есть, значит все ок.
3. Кг/Ам срач не взлетит |
|||||||
6
scanduta
19.07.16
✎
08:50
|
Чем плох то ? Свои задачи реализует хорошо.
Нормальный язык, развивается. |
|||||||
7
Starhan
19.07.16
✎
08:50
|
Все будет хорошо.
Нормальный язык, развивается. |
|||||||
8
Gorillaz
19.07.16
✎
08:51
|
У каждого языка свои косяки и сравнивать с каким-то бессмысленно, большое кол-во организаций пользуется 1С, дальше сами думайте, а не создавайте топики с опросиками на бредовую тему.
|
|||||||
9
torgm
19.07.16
✎
08:52
|
удалить опрос
|
|||||||
10
lubitelxml
19.07.16
✎
08:54
|
ошибки бы вот только побыстрее исправляли и не забивали на некоторые из них - вообще красота бы была
Нормальный язык, развивается. |
|||||||
11
ТатьянаДевочка
19.07.16
✎
08:57
|
Плохой язык! В нём нет нужных лямбда-замыканий.
|
|||||||
12
Остап Сулейманович
19.07.16
✎
08:59
|
В голосовалке нет главного пункта.
|
|||||||
13
lubitelxml
19.07.16
✎
09:00
|
(11) а зачем тебе они?
|
|||||||
14
torgm
19.07.16
✎
09:01
|
Ну если говорить прямо, то из предметно ориентированнго языка для создания учетных приложений, превращается в .... как бы это сказать ...
|
|||||||
15
Starhan
19.07.16
✎
09:01
|
(11) :) еще даже до анонимных функций не дошли, а вы у же про лямбда.
Но хочется ответить словами одной англичанки после брекзита. Вот идите в свой язык с нужными лямбда-замыканиями и на нем программируйте. |
|||||||
16
ТатьянаДевочка
19.07.16
✎
09:01
|
(13) я себе не просила.
|
|||||||
17
lubitelxml
19.07.16
✎
09:05
|
(16) а кому?
|
|||||||
18
orefkov
19.07.16
✎
09:18
|
Вообще, строго говоря, 1С еще в семёрке в лохматых 90ых, когда о GoF и паттернах ещё мало кто слышал - реализовало очень хороший MVC. А в 8ке довела его почти до идеала. Работал с каким-нить AngularJS или ExtJS - там как высшие современные достижения выдается то, что в 1С уже давным-давно сделано, считается обыденностью и рядовым одинэсником используется даже не задумываясь.
|
|||||||
19
rphosts
19.07.16
✎
09:19
|
(3) укропы с хабра
|
|||||||
20
ТатьянаДевочка
19.07.16
✎
09:19
|
В нём нет ООП :)
|
|||||||
21
IlyaSR
19.07.16
✎
09:20
|
2
Нормальный язык, развивается. |
|||||||
22
lucky-nn
19.07.16
✎
09:20
|
а если убог, то что, уйдём с него? :)
Нормальный язык, развивается. |
|||||||
23
PR
19.07.16
✎
09:20
|
(18) +100
|
|||||||
24
ТатьянаДевочка
19.07.16
✎
09:20
|
В 8ке кривая система интеллектуальной подсказки. После 2-3 разыменования не получишь список.
|
|||||||
25
ТатьянаДевочка
19.07.16
✎
09:21
|
(19) у них своя 1С - ДебетПлюс :)
|
|||||||
26
FIXXXL
19.07.16
✎
09:22
|
мне хватает
но подсказку бы сделать поживее Нормальный язык, развивается. |
|||||||
27
rphosts
19.07.16
✎
09:22
|
(24) попрошу озвучить список где оно не криво, в большинстве сред это и то нет.
|
|||||||
28
rphosts
19.07.16
✎
09:23
|
Для учётных задач - самое то!
Нормальный язык, развивается. |
|||||||
29
PR
19.07.16
✎
09:24
|
(24) Руки у тебя кривые.
Набрал Справочники.Валюты.ПустаяСсылка().Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка, нажал точку, получил список. |
|||||||
30
lubitelxml
19.07.16
✎
09:25
|
(29) это что?)))
|
|||||||
31
ТатьянаДевочка
19.07.16
✎
09:25
|
(27) В Delphi это с 90х годов. В 1С несколько лет :)
|
|||||||
32
xxTANATORxx
19.07.16
✎
09:25
|
годный вброс
автор молодец |
|||||||
33
orefkov
19.07.16
✎
09:25
|
(24)
Язык вроде обсуждали, а не IDE. Подсказка - это уже не свойство языка, а скорее средств работы с ним. |
|||||||
34
orefkov
19.07.16
✎
09:26
|
(31)
Дельфи - строготипизированный язык, насколько помню. Хотите также для всего тип писать? |
|||||||
35
ТатьянаДевочка
19.07.16
✎
09:26
|
А ещё - 1С обидела Орефкова, украв его идеи. Теперь он не может никому продать свой снегопат.
|
|||||||
36
PR
19.07.16
✎
09:27
|
(30) Это опровержение (24)
|
|||||||
37
tabarigen
19.07.16
✎
09:27
|
После 1С пересел на Python
Убог и устарел |
|||||||
38
Starhan
19.07.16
✎
09:28
|
(35)а ты это... точно девочка?
|
|||||||
39
Starhan
19.07.16
✎
09:28
|
(37) какие прикладные задачи решаешь? (интересно)
|
|||||||
40
ТатьянаДевочка
19.07.16
✎
09:28
|
(38) Приходи :)
|
|||||||
41
orefkov
19.07.16
✎
09:28
|
(35)
:) Тс.... ветка не согласована, поэтому без рекламы пожалуйста :) |
|||||||
42
ТатьянаДевочка
19.07.16
✎
09:30
|
(41) Ой, извини :)
|
|||||||
43
solarcold
19.07.16
✎
09:32
|
До Malbolge еще далеко.
Убог и устарел |
|||||||
44
Xapac
19.07.16
✎
09:32
|
если в 1с сделать анонимные функции и ооп, то зная квалификацию многих 1сников, мы получим такие конфигурации.... что их потдержка будет стоить милионы.
|
|||||||
45
lubitelxml
19.07.16
✎
09:34
|
(44) я боюсь в таком случае техподдержка будет вообще невозможна ))
|
|||||||
46
orefkov
19.07.16
✎
09:35
|
(44)
И именно поэтому грамотные спецы должны ходить на Селезнёвке с плакатами "Даешь ООП и closures в 1С 8.4!!!" Лишний миллион лишним не бывает. |
|||||||
47
aka AMIGO
19.07.16
✎
09:35
|
Язык не может быть ни плохим, ни хорошим.
1С - изначально объектно-ориентированный, специфический, предназначенный для работы в бухучете.. Все остальные попытки запрограммировать на нём что-то ещё - от лукавого. Голосовать не буду, нужного мне пункта нет. |
|||||||
48
Гобсек
19.07.16
✎
09:37
|
Еще 1С 7.7 намного превзошел foxpro и Clipper, главных инструментов для разработки бизнес-приложений в 90-е годы. 1С 8.3 намного превзошел 1С 7.7
Нормальный язык, развивается. |
|||||||
49
Xapac
19.07.16
✎
09:41
|
(46) возмём себе по жёлтой ленточке
будем кричать нуралиева в отставку! хочу ООП и тружевные крусики! |
|||||||
50
ТатьянаДевочка
19.07.16
✎
09:42
|
(49) Майдан?
|
|||||||
51
torgm
19.07.16
✎
09:43
|
(47) поправочка - предметно ориентированный
|
|||||||
52
ТатьянаДевочка
19.07.16
✎
09:44
|
(51) А Чистов утверждал, что "проблемно"
|
|||||||
53
PR
19.07.16
✎
09:44
|
(49) Ты хочешь кружевные трусики? Надеюсь, не себе?
|
|||||||
54
aka AMIGO
19.07.16
✎
09:44
|
(51) А, ну - да. В этом смысле я ошибся.
|
|||||||
55
Xapac
19.07.16
✎
09:44
|
(50)но Чистов организует автобусы программистов из регионов в москву к селезнёвке
|
|||||||
56
ТатьянаДевочка
19.07.16
✎
09:44
|
(53) Спасибо, у меня есть :)
|
|||||||
57
Jokero
19.07.16
✎
09:45
|
(44) Тема плавно переходит в: "1Сники программирующие на 8.3. Если посмотреть на них с точки зрения современных программистов, они действительно так плохи, как их ругают некоторые или это все от незнания?"
А вообще, есть мнение, что 8ка еще сырая))) З.Ы. в голосовалке нужен пункт - "А есть альтернативы?" |
|||||||
58
PR
19.07.16
✎
09:45
|
(56) А ты-то здесь при чем?
|
|||||||
59
Xapac
19.07.16
✎
09:46
|
(57) в чём сырая?
вы видили поделки западных спецов? где есть ещё в мире хоть 1н продукт с такой офигенной документацией (кроме майкросовтовских поделок) |
|||||||
60
ТатьянаДевочка
19.07.16
✎
09:47
|
(59) SAP
|
|||||||
61
Lama12
19.07.16
✎
09:48
|
Для своих целей.
Нормальный язык, развивается. |
|||||||
62
Lama12
19.07.16
✎
09:49
|
Для расчета ядерных реакций или химического взаимодействия при нестандартных условиях.
Убог и устарел |
|||||||
63
Xapac
19.07.16
✎
09:51
|
(60)в поставку САП входит 2 коробки книг?
|
|||||||
64
ТатьянаДевочка
19.07.16
✎
09:52
|
(63) В поставку 1C входит коробка с книгами, которые никто не читает. Они убоги. Все смотрят курсы :)
|
|||||||
65
Xapac
19.07.16
✎
09:52
|
ищем в гугле
"стандартная поставка 1с фото коробка" и "стандартная поставка SAP фото коробка" |
|||||||
66
НубВ1С8
19.07.16
✎
09:53
|
что за, не побоюсь такого слова, тупой вопрос? каждый инструмент - для своего дела! 1С для задач учета - вполне себе язык.
ТСу явно делать нехер. Нормальный язык, развивается. |
|||||||
67
Xapac
19.07.16
✎
09:53
|
(64) а http://its.1c.ru/db/ это тоже не читаете?
|
|||||||
68
Xapac
19.07.16
✎
09:56
|
и мы говорим о их нормальных языках
тажа ява. вы посмотрите на стандартную документацию, это убожество |
|||||||
69
НубВ1С8
19.07.16
✎
10:01
|
(67) 404 Страница не найдена
|
|||||||
70
olegves
19.07.16
✎
10:03
|
а я еще программил на 1С 6.0 - в основном формы, а отчеты для него писал на Фоксе.
8.3 намного круче и ФоксПро (который кстати купил и развалил Мелкософт), и 7.7, и тем более, 6.0 Были б еще релизы постабильнее - вообще б песня была Нормальный язык, развивается. |
|||||||
71
Xapac
19.07.16
✎
10:04
|
(69)там строка поиска
|
|||||||
72
НубВ1С8
19.07.16
✎
10:07
|
(71) тогда уж про http://its.1c.ru/#books надо говорить
|
|||||||
73
ТатьянаДевочка
19.07.16
✎
10:08
|
(72) Это всё идёт в коробке в бумажном виде? Насмешил :)
|
|||||||
74
Господин ПЖ
19.07.16
✎
10:11
|
предлагаю признать прекрасным и разойтись
|
|||||||
75
ТатьянаДевочка
19.07.16
✎
10:11
|
(74) Я против! :)
|
|||||||
76
ifso
19.07.16
✎
10:11
|
(60) где/почём sap-овый сп?
|
|||||||
77
Xapac
19.07.16
✎
10:15
|
(73)я тебе дал ссылку
|
|||||||
78
ТатьянаДевочка
19.07.16
✎
10:16
|
(77) Тем самым ты признал, что документация в коробке 1С убогая :)
|
|||||||
79
Xapac
19.07.16
✎
10:18
|
(78) итс это тоже "коробка"
|
|||||||
80
ТатьянаДевочка
19.07.16
✎
10:19
|
(79) Нет :) Отдельный самостоятельный продукт :) Ты не знал?
|
|||||||
81
В тылу врага
19.07.16
✎
10:21
|
уже аннотации &Перед &После &Вместо какое-то велосипедостроение вместо общепринятого override
|
|||||||
82
ТатьянаДевочка
19.07.16
✎
10:22
|
(81) Вот-вот. И борьба с модальностью какая-то детская.
|
|||||||
83
ТатьянаДевочка
19.07.16
✎
10:22
|
1С - это язык для бухгалтеров! (с) Танечка
|
|||||||
84
Nuobu
19.07.16
✎
10:22
|
А чего это у вас тут всё в крапочку?
|
|||||||
85
Serginio1
19.07.16
✎
10:24
|
(44) Так же говорили когда в .Net внедряли Linq.
К хорошему быстро привыкаешь. А Linq кстати и на 1С не хватает не только с коллекциями но и с запросами. |
|||||||
86
Serginio1
19.07.16
✎
10:24
|
Ах да
Убог и устарел |
|||||||
87
Serginio1
19.07.16
✎
10:27
|
Плюс реально по аналогии с await в 1С можно
1. Разворачивать модальные методы используя конечный автомат 2. Вызов серверных функций через замыкания. 3. Асинхронные вызовы |
|||||||
88
ТатьянаДевочка
19.07.16
✎
10:28
|
Асинхрон в 1с убог.
|
|||||||
89
Масянька
19.07.16
✎
10:29
|
Два верблюда в зоопарке: сын и отец.
Сын спрашивает: - Папа, а зачем у нас два больших горба? Папа отвечает: - Это для того, чтобы хранить еду целый месяц. - Папа, а зачем у нас такие большие копыта? - Для того чтобы не проваливались ноги в песке. - Папа, а зачем у нас такие большие ресницы? - Сынок, ну как же ты не поймешь - мы же верблюды, корабли пустыни. Это для того, чтобы во время песчанной бури песок не попадал нам в глаза. - Я все понимаю, но нахера нам такие навороты в зоопарке??? Извините, но - просто в тему. |
|||||||
90
b_ru
19.07.16
✎
10:30
|
Где-то посередине. Язык 1С в целом не плох, но ни хрена не развивается, что не очень здорово. Зато все остальное в платформе очень даже вполне. Учитывая, что платформа то как раз развивается весьма активно, реформа языка прямо напрашивается.
|
|||||||
91
orefkov
19.07.16
✎
10:31
|
(81)
Это вы вообще абсолютно мимо пролетели. Override указывает на то, вы переопределяете весь метод, что совершенно не так в случае, как вы пишете "&Перед &После &Вместо". Не из то оперы, вобщем. Как писали в старину - "учи матчасть". |
|||||||
92
ТатьянаДевочка
19.07.16
✎
10:31
|
(89) 1С зоопарк :)
|
|||||||
93
Nuobu
19.07.16
✎
10:32
|
(91) Ну, как бы, в языках, которые поддерживают Override есть возможность вызвать старый метод и поэтому можно использовать одну функцию вместо трёх. Но не в 1С!
|
|||||||
94
Nuobu
19.07.16
✎
10:33
|
(92) 1С:Управление зоопарком.
|
|||||||
95
b_ru
19.07.16
✎
10:36
|
(93) &Перед, &После, &Вместо идеологически похожи на коллбэки, это ни хрена не наследование, в самом деле "учи матчасть"
|
|||||||
96
ТатьянаДевочка
19.07.16
✎
10:36
|
||||||||
97
В тылу врага
19.07.16
✎
10:37
|
(91)(95) это как раз в тему, &Перед и &После лишь частные случаи &Вместо
а &Вместо+ПродолжитьВызов это как раз override с возможным вызовом base-метода |
|||||||
98
Волшебник
модератор
19.07.16
✎
10:38
|
Предлагаю вариант 1 голосовалки приравнять к самобану
Нормальный язык, развивается. |
|||||||
99
Масянька
19.07.16
✎
10:38
|
(96) И кто говорящий козел? Кстати, ошибка студентов-генетиков. На кого намекаете?
|
|||||||
100
В тылу врага
19.07.16
✎
10:39
|
сотка
|
|||||||
101
ТатьянаДевочка
19.07.16
✎
10:39
|
(99) Тот, чьё имя не произносят :)
|
|||||||
102
mkalimulin
19.07.16
✎
10:40
|
Про любой язык программирования можно сказать, что он убог и устарел.
Нормальный язык, развивается. |
|||||||
103
Nuobu
19.07.16
✎
10:40
|
(98) Протестую.
|
|||||||
104
Господин ПЖ
19.07.16
✎
10:41
|
(103) прибей себя за яйцы к уц№1
|
|||||||
105
ТатьянаДевочка
19.07.16
✎
10:42
|
(104) Он прав. В первом вопросе два утверждения, каждое из которых самостоятельно.
|
|||||||
106
Serginio1
19.07.16
✎
10:45
|
(98) Тогда сноси тему. На самом деле, раз они смотрят на Вэб то им и язык нужно под JavaScript развивать. А лучше под TypeScript
|
|||||||
107
Jokero
19.07.16
✎
10:46
|
В типовых не нравится бардак. Является ли это следствием языка или позицией програмистов хз.
Хочется так: Цена = НоменклатураОбъект.ПолучитьЦену(Дата) а не ОдинИзМиллионаОбщихМодулей.ПолучитьЦенуНоменклатуры(Номенклатура, овер_100_000_ее_характеристик, курс, ЕдИзм, ДоговорСДьяволом, еще какие-то параметры) |
|||||||
108
ТатьянаДевочка
19.07.16
✎
10:47
|
(107) Так было в 7.7
|
|||||||
109
В тылу врага
19.07.16
✎
10:47
|
(107) ну объект поднимать ни есть гут
если бы был "легковесная обертка ссылки" или модуль самой ссылки, то да |
|||||||
110
Масянька
19.07.16
✎
10:48
|
(107) А мне хочется интеграции (ну, типа того): есть бухия, в ней есть справочник "Сотрудники" - почему для ЗУП не подцепить этот же справочник? Ну, и наоборот.
|
|||||||
111
Dmitrii
гуру
19.07.16
✎
10:48
|
Недостатков море, но о сопоставимых по своим возможностям альтернатив я не слышал.
Нормальный язык, развивается. |
|||||||
112
Господин ПЖ
19.07.16
✎
10:48
|
>Цена = НоменклатураОбъект.ПолучитьЦену(Дата)
это тупо... запихивать вызов цены в модуль объекта |
|||||||
113
Nuobu
19.07.16
✎
10:48
|
(109) Есть менеджер в справочниках, можно туда пихать такие функции.
|
|||||||
114
Nuobu
19.07.16
✎
10:49
|
(110) Это модульность. Мне тоже этого ну очень хочется.
|
|||||||
115
CMblCL
19.07.16
✎
10:49
|
(111) Отсутствие альтернатив не делает автоматически продукт хорошим.
|
|||||||
116
В тылу врага
19.07.16
✎
10:50
|
Мне кажется бизнес-логика (например проведение, регламент) должны быть написаны в строго типизированном стиле, а вот отчеты - в свободном стиле
|
|||||||
117
DomovoiVShoke
19.07.16
✎
10:50
|
(107)Свой вариант лучше оставьте при себе. Вам может нравится 100 функций ПолучитьЦену писать, но некоторым лучше иметь одну на все века)
|
|||||||
118
Злопчинский
19.07.16
✎
10:51
|
Перед чтением языка читать http://www.e-reading.club/book.php?book=97945
|
|||||||
119
DomovoiVShoke
19.07.16
✎
10:53
|
Не знаю как развивается, но сам язык пойдет: для БД пока ничего лучше не придумали.
Нормальный язык, развивается. |
|||||||
120
ТатьянаДевочка
19.07.16
✎
10:53
|
(119) а SQL уже не то? :)
|
|||||||
121
DomovoiVShoke
19.07.16
✎
10:54
|
(120)Вы на SQL напишите быстрее чем я на 1с8?)
|
|||||||
122
ТатьянаДевочка
19.07.16
✎
10:55
|
(121) Меряться хочешь? :)
|
|||||||
123
DomovoiVShoke
19.07.16
✎
10:55
|
(122)Тихо женщина! Не буянь сутра :)
|
|||||||
124
ТатьянаДевочка
19.07.16
✎
10:56
|
(123) Спрячь свой 1С и не высовывай!
|
|||||||
125
lubitelxml
19.07.16
✎
10:56
|
Мне одному ТатьянаДевочка Фиксина напоминает? ))
|
|||||||
126
Nuobu
19.07.16
✎
10:57
|
(123) Она еще девочка.
|
|||||||
127
ifso
19.07.16
✎
10:57
|
(122) из коробки достанет )
|
|||||||
128
В тылу врага
19.07.16
✎
10:58
|
(125) вот зачем сразу оскорблять девушку?
|
|||||||
129
Jokero
19.07.16
✎
11:03
|
(112) Это не тупо, методы работающие с объектом должны быть привязаны к объекту, а не бог знает где в конфигурации валяться.
(110) К этому ползут, БСП это первые шаги унификации, но ползут медленно. |
|||||||
130
Xapac
19.07.16
✎
11:04
|
язык от 1с отстой. давайте сделаем свой с блекджеком и шлюхами!
|
|||||||
131
Garykom
гуру
19.07.16
✎
11:04
|
Добавьте "свой вариант" в голосовалку.
Какая разница какой язык? |
|||||||
132
DomovoiVShoke
19.07.16
✎
11:05
|
(131)Главное чтоб рабочий был.
|
|||||||
133
Jokero
19.07.16
✎
11:07
|
(130) А прикиньте сделают язык, на котором даже обычные бухи смогут писать? И все, мы все сядем))
|
|||||||
134
ТатьянаДевочка
19.07.16
✎
11:08
|
(133) Вас переименуют в бухгалтеров.
|
|||||||
135
DomovoiVShoke
19.07.16
✎
11:10
|
(133)Нам будут звонить:"А где мой ярлык с конфигуратором?")
|
|||||||
136
mTema32
19.07.16
✎
11:18
|
"1С - ... специфический, предназначенный для работы в бухучете..."
8 лет работаю с 1С и для бухучета только может пару отчетов рисовал. Чего за стереотипы? |
|||||||
137
ТатьянаДевочка
19.07.16
✎
11:21
|
(136) // 8 лет работаю с 1С
Джуниор :) |
|||||||
138
Михаил 1С
19.07.16
✎
11:21
|
(133) Дело не в языке. А в желании копаться в "этой программе".
Ведь надо разбираться в библиотеках, в структуре данных, в том как все это реализовано, ... |
|||||||
139
ТатьянаДевочка
19.07.16
✎
11:23
|
Почему в 1С пишут и не пишут "ЭтаФорма"?
|
|||||||
140
Nuobu
19.07.16
✎
11:25
|
(139) Потому что не всегда нужно писать this
|
|||||||
141
Михаил 1С
19.07.16
✎
11:25
|
(139) Пишут - потомучто так хотят.
Не пишут - тоже по этой причине. |
|||||||
142
ТатьянаДевочка
19.07.16
✎
11:26
|
Нет в языке строгости!
|
|||||||
143
lubitelxml
19.07.16
✎
11:27
|
(139) чтобы на сервере получить доступ к реквизитам формы (не объекта). На клиенте смысла особо нет писать так
|
|||||||
144
ТатьянаДевочка
19.07.16
✎
11:30
|
То есть, чтобы достать реквизит формы, который идентичен по имени с реквизитом объекта, нужно извратиться так:
&НаСервере П ААА() Сообщить("Рекв объекта"+Рекв1); Сообщить("Рекв формы"+ЭтаФорма.Рекв1); КонецП |
|||||||
145
DomovoiVShoke
19.07.16
✎
11:32
|
(139)А вы загадочная)))
|
|||||||
146
ТатьянаДевочка
19.07.16
✎
11:33
|
(145) Я лучшая! :)
|
|||||||
147
Garykom
гуру
19.07.16
✎
11:41
|
(146) угу особенно хорошо законы знаешь?
лучше ответь со страничкой ВК угадал? в другой ветке |
|||||||
148
ТатьянаДевочка
19.07.16
✎
11:44
|
Молодой мальчик Егорка, прямо как Эркюль Пуаро :)
|
|||||||
149
Garykom
гуру
19.07.16
✎
11:51
|
(148) даже не понятно это это комплимент или нет от гаметы...
|
|||||||
150
jsmith
19.07.16
✎
11:51
|
Отсутствие декларативов и рефлексии напрягает.
|
|||||||
151
Shur1cIT
19.07.16
✎
11:53
|
(0) для тех целей что он создан вполне нормалный, хотя не мешалобы наследование добавить
Нормальный язык, развивается. |
|||||||
152
orefkov
19.07.16
✎
11:53
|
(150)
Некогда рефлексировать, работать надо! |
|||||||
153
Garykom
гуру
19.07.16
✎
11:55
|
(152)+ декларативно работать...
|
|||||||
154
jsmith
19.07.16
✎
11:56
|
Фейспалм.джипег. Делегатов.
|
|||||||
155
В тылу врага
19.07.16
✎
11:57
|
(152) ну сознайся хоть, что в (91) ты не прав был
|
|||||||
156
orefkov
19.07.16
✎
12:00
|
(155)
Нет. Override - наследование + переопределение. Перед После Вместо - подписка на события. |
|||||||
157
ТатьянаДевочка
19.07.16
✎
12:01
|
(156) Перехват.
|
|||||||
158
Nuobu
19.07.16
✎
12:02
|
(156) Вместо это тоже подписка?
|
|||||||
159
orefkov
19.07.16
✎
12:03
|
+(156)
Еще это нынче модно называть "аспектное программирование". Но у 1С, как и у большинства русских, всегда беда с маркетингом и пылевглазапусканием. Если бы кто-то занялся грамотным пиаром фреймворка от 1С - ты бы сейчас с восторгом и придыханием говорил кучу новых слов, красиво называющих все эти существующие в 1С вещи. |
|||||||
160
В тылу врага
19.07.16
✎
12:04
|
(156) а теперь прочти (97) еще раз
|
|||||||
161
orefkov
19.07.16
✎
12:05
|
(158)
Да. Подписка, отменяющая штатный обработчик события. Пойми, тут нет главного, в чём вся суть Override - наследования. Тебе не надо наследоваться от класса, а потом еще и заставить среду вместо штатного класса создавать твоего наследника, чтобы переопределение сработало. |
|||||||
162
Garykom
гуру
19.07.16
✎
12:05
|
(157) Если признать это перехватом то рефлексия есть
|
|||||||
163
В тылу врага
19.07.16
✎
12:05
|
(161) а расширение это не наследование?
|
|||||||
164
ТатьянаДевочка
19.07.16
✎
12:06
|
Мальчики, а научите меня программировать?
|
|||||||
165
Garykom
гуру
19.07.16
✎
12:07
|
(164) Как бы сама чему плохому не научила на всяких шарпах
|
|||||||
166
В тылу врага
19.07.16
✎
12:07
|
(164) хороший ход, я про фотку
|
|||||||
167
orefkov
19.07.16
✎
12:07
|
(161)
Необязательно. Расширений ведь много разных вариантов есть - extend, implement, mixin. |
|||||||
168
PR
19.07.16
✎
12:08
|
Интересно, кто-нить верит в то, что Татьяна девочка? :))
|
|||||||
169
ТатьянаДевочка
19.07.16
✎
12:09
|
Написано, значит так и есть.
|
|||||||
170
PR
19.07.16
✎
12:09
|
(169) Ты еще скажи, что фотка твоя :))
|
|||||||
171
Garykom
гуру
19.07.16
✎
12:09
|
(168) Думаешь кто то позарился или смог стока выпить?
|
|||||||
172
ТатьянаДевочка
19.07.16
✎
12:10
|
(170) Понравилась? Я - такая! Могу и движок вынуть, и коробку перебрать :)
|
|||||||
173
Карупян
19.07.16
✎
12:11
|
До, После, Вместо - это скорее АОП, если вы знаете что это такое
|
|||||||
174
PR
19.07.16
✎
12:12
|
(171) Думаю, что на том конце бородатый жирный мужик, а фотка из инета. Фотка-то точно из инета.
|
|||||||
175
DomovoiVShoke
19.07.16
✎
12:12
|
(164)Учишь выговаривать слово "престидижитация", т.е. "наследование" потом кладешь одну руку на клавиатуру, вторую на мышь и ты программист)
|
|||||||
176
Garykom
гуру
19.07.16
✎
12:12
|
(173) DSLка же
|
|||||||
177
Garykom
гуру
19.07.16
✎
12:13
|
(174) там их нескоко судя по анализу постов
|
|||||||
178
ТатьянаДевочка
19.07.16
✎
12:13
|
(175) В 1с нет наследования.
|
|||||||
179
DomovoiVShoke
19.07.16
✎
12:14
|
(168)"Кто скажет что она мальчик пусть кинет в меня камень")
|
|||||||
180
ТатьянаДевочка
19.07.16
✎
12:14
|
Егорушка ведёт расследование! С замиранием сердца слежу :)
|
|||||||
181
Garykom
гуру
19.07.16
✎
12:14
|
(178) Реализация абстрактного класса вполне наследование
|
|||||||
182
DomovoiVShoke
19.07.16
✎
12:14
|
(178)А тебе на 1с? Тогда тоже самое только без слова "наследование")
|
|||||||
183
Nuobu
19.07.16
✎
12:15
|
(168) Думаешь, она уже женщина?
|
|||||||
184
PR
19.07.16
✎
12:15
|
(179) Подходи, я кину :))
|
|||||||
185
Dotoshin
19.07.16
✎
12:15
|
(20) Открой секрет, вот че ты будешь делать с ООП? Напишешь свой класс для обработки проведения?
|
|||||||
186
PR
19.07.16
✎
12:16
|
(183) Думаю, что (174)
|
|||||||
187
DomovoiVShoke
19.07.16
✎
12:16
|
(172)Я думал ты держишь машину, а ты всего то ковыряешься в ней)))
|
|||||||
188
DomovoiVShoke
19.07.16
✎
12:18
|
(186)Думаешь Татьяна джигит?) Хмм...
|
|||||||
189
Garykom
гуру
19.07.16
✎
12:23
|
(188) Думаю практически всем глубоко пофиг на искусство теоретической вольтажировки мифической Татьяны
|
|||||||
190
DomovoiVShoke
19.07.16
✎
12:24
|
(189)теперь тоже самое только по-русски...
|
|||||||
191
ТатьянаДевочка
19.07.16
✎
12:25
|
Вольтачто?
|
|||||||
192
Garykom
гуру
19.07.16
✎
12:29
|
(190) если по русски то оно не для детей уже
|
|||||||
193
DomovoiVShoke
19.07.16
✎
12:30
|
(192)Я уже взрослый, мне мама разрешает слушать взрослые слова)
|
|||||||
194
Dotoshin
19.07.16
✎
12:34
|
(172) Вынуть дурак сможет. Ты попробуй обратно поставить...
|
|||||||
195
minele
19.07.16
✎
12:40
|
Язык программирования работает и обновляется и это определяющий критерий. Остальной все шампунь.
Нормальный язык, развивается. |
|||||||
196
minele
19.07.16
✎
12:43
|
Предлагаю особо рьяным написать Windows-1C и тогда поговорим.
|
|||||||
197
DomovoiVShoke
19.07.16
✎
12:46
|
(196)Запотентуй)
|
|||||||
198
minele
19.07.16
✎
12:49
|
Опять же все программы 1С - это приложение к Windows и без своего Windows мы не можем говорить о новом языке 1С и его кардинальном изменении. Пока это все ни о чем.
|
|||||||
199
minele
19.07.16
✎
12:56
|
1С в колее проложенной не нами, а Майкрософт. И в любой момент в свете развития санкций еще эта колея может просто оборваться.
|
|||||||
200
ТатьянаДевочка
19.07.16
✎
12:58
|
200
|
|||||||
201
Карупян
19.07.16
✎
13:01
|
(198) 1с и на линуксе работает
|
|||||||
202
necro
19.07.16
✎
13:06
|
Что, там какой-то новый язык появился? Опять я всё пропустил (
|
|||||||
203
golem14
19.07.16
✎
14:29
|
(202) иди троль в свою ветко про бэкапы
|
|||||||
204
Serginio1
19.07.16
✎
15:17
|
Кстати про то как языки развиваются
ES6 по-человечески https://habrahabr.ru/post/305900/ В общем тенденции одинаковы в C#,TS |
|||||||
205
ZloyBrawler
19.07.16
✎
23:01
|
Блин и чего людям не хватает в 1С языке программирования???
Неужели не понятно, что введение новых синтаксических конструкций, некого синтаксического сахара и прочей ерунды, что есть в других языках программирования, на выходе получатся го... программы, которые невозможно будет читать, не говоря уже об попытке их понять. Один так завернет свою мысль, другой эдак, и понесется душа в рай, смешанных подходов к программированию. |
|||||||
206
Serginio1
20.07.16
✎
07:39
|
(205) Так и сейчас заворачивают так, что разобраться невозможно из-за невыразительности языка. На самом деле новые конструкции просто сокращают количество кода и удобство.
Например как я уже приводил пример в (87) |
|||||||
207
Провинциальный 1сник
20.07.16
✎
07:48
|
(88) "Асинхрон в 1с убог."
Он убог только и исключительно для того, чтобы быть совместимым с тупым браузерным джаваскриптом. |
|||||||
208
Провинциальный 1сник
20.07.16
✎
07:49
|
(205) Чем спагетти-код из модулей в БСП лучше строгой иерархии переопределяемых объектов?
|
|||||||
209
minele
20.07.16
✎
08:15
|
Кстати, если бы 1С создала бы Российскую Windows -1С она бы неплохо подзаработала на этом. Штат 1С вполне позволяет это сделать. Да и прославила бы себя 1С. Что - то Сколково пока не смогло решить этот вопрос. Понятно, что Windows - это мегаСУБД
Правительство могло бы тоже сделать заказ в 1С создать Windsows - 1C - это могло бы помочь решить вопрос с финансированием проекта? Но пока это мечта. |
|||||||
210
Masquerade
20.07.16
✎
08:37
|
(0)
По меркам 2016 года - то, что предлагает 1С языком назвать - сильно ему польстить. О чем нужно думать, чтобы считать, что язык "развивается" - загадка. И вот это умилило - "от незнания". Что в языке 1С можно не знать? Полторы конструкции. Убог и устарел |
|||||||
211
Провинциальный 1сник
20.07.16
✎
08:38
|
(209) Виндовс - не сможет, ибо патентов куча. А вот что-то типа гугловской хром-ос на базе линукса под названием 1с-ос вполне можно создать. Но нафига?
|
|||||||
212
Masquerade
20.07.16
✎
08:40
|
Парадигма 1С - _примитивная_ обертка над БД.
Обертка. Над БД. Примитивная. 1С-ник не может никак взять в толк, что весь его мир - куцое поделие. От этого ярится и грызет цепь. Это понятно. |
|||||||
213
Провинциальный 1сник
20.07.16
✎
08:42
|
(210) Он не развивается, он усложняется. Та же прилепленная сбоку асинхронность, а ранее - разделение фреймворка на клиентский и серверный.
|
|||||||
214
В тылу врага
20.07.16
✎
08:46
|
Не, ну кроме языка для 7.7 ничего не видел это конечно круто
|
|||||||
215
Mr_Rm
20.07.16
✎
08:47
|
(209) Windows - никак не СУБД. Нужен бесплатный Windows - есть проект ReactOS.
Про язык 1С и язык русский: ТЗ = Новый ТаблицаЗначений; Для Каждого СтрокаТабличнойЧасти Из Запасы Цикл ... |
|||||||
216
sikuda
20.07.16
✎
08:54
|
Для меня вообще вопрос лежит в другой плоскости.
Мне не понравились возможности вывода в 1С, не ноем, делаем реальные вещи. sikuda.ru/dashboard |
|||||||
217
sikuda
20.07.16
✎
08:55
|
||||||||
218
zewsmoro
20.07.16
✎
09:06
|
нет плохих языков, а другое стоит применять тот или иной язык для определенной цели. да и чуть не забыл человеческий фактор, точнее фактор привычки.
|
|||||||
219
b_ru
20.07.16
✎
09:13
|
(205) >>Неужели не понятно, что введение новых синтаксических конструкций, некого синтаксического сахара и прочей ерунды, что есть в других языках программирования, на выходе получатся го... программы, которые невозможно будет читать, не говоря уже об попытке их понять.
Хз что там понятно из-за печки, а весь мир пишет и читает C# и Java и радуется. |
|||||||
220
DomovoiVShoke
20.07.16
✎
09:16
|
(219)Ну если писать еще пишут, если это можно назвать писаниной, то читать не читают, пишут заново.
|
|||||||
221
НубВ1С8
20.07.16
✎
10:19
|
(212) >> 1С-ник не может никак взять в толк, что весь его мир - куцое поделие. От этого ярится и грызет цепь.
бугага. я слишком туп и жаден, чтоб а) яриться б) портить цепь надо работать - деньги зарабатывать |
|||||||
222
Волшебник
модератор
20.07.16
✎
10:38
|
(178) в 1С есть наследование
|
|||||||
223
Serginio1
20.07.16
✎
10:39
|
(220) Это в 1С коде иной раз проще заново написать, чем доводить до ума чей то код.
Правда здесь многое зависит от программиста. Например в С++ коде не смотря на его мощь, сложно разбираться из-за макросов шаблонов. Но в общем зависит от опыта. На C#, Java код в основной массе читается легко, плюс за счет типизации можно быстро посмотреть, что код из себя представляет в всплывающем окне в VS. Новые фичи это прежде всего сокращение кода и улучшение его читаемости. |
|||||||
224
Serginio1
20.07.16
✎
10:41
|
223+ Но иногда мышление нужно менять, но это к лучшему. Повышается креативность
|
|||||||
225
Gary417
20.07.16
✎
10:42
|
(208) т.к. я ща в полном процессе перехода из 1С в Яву...читаю про неё книжки
нашёл интересную мысль что делать архитектуру расширяемой программы на базе наследования - плохо т.к. изменение логики и внутренностей родительского класса ломает совместимость клиентов |
|||||||
226
АнтонБ
20.07.16
✎
10:42
|
Основная проблема что это местный язык для одной платформы и все знания несовместимы с современными языками и платформами.
Таким образом программист привязывается к 1с8. Это мешает профессиональному росту программистов. Убог и устарел |
|||||||
227
Gary417
20.07.16
✎
10:43
|
(226) он несовместим настолько, насколько несовместим любой другой узкоспециализированный язык программирования
|
|||||||
228
quest
20.07.16
✎
10:47
|
Мне лично не хватает в 1С макросов как в scheme. Но их мне в любом языке (не из лиспового семейства) не хватает. Не хватает анонимных функций, не хватает описания форматов и виртуальной машины, не хватает открытости самого языка.
Но с другой стороны - как представлю что может понаписать средний 1сник если ему все это дать.... Лучше ну его нафиг, пусть и дальше не хватает. |
|||||||
229
quest
20.07.16
✎
10:49
|
(226) вот же бред.... В других языках - циклы по другому выполняются? В других языках присвоение по другому идет (исключим функциональные)? А рост прогаммиста только от программиста и зависит. Язык тут - не важен.
|
|||||||
230
b_ru
20.07.16
✎
10:54
|
(225) Мысль о вреде наследования была весьма популярна в 90е и полностью отражена например в Visual Basic. Ее логическим следствием стала концепция компонентного программирования, которая подарила миру километры кода, но на сегодняшний день все же несколько устарела.
И это, при наследовании внутренности родительского класса сломать нельзя по определению. (229) Рост программиста зависит, например, от навыка применения паттернов проектирования. Которые в 1С применять сложно именно из-за ограничений языка. |
|||||||
231
АнтонБ
20.07.16
✎
10:55
|
javascript && c#
Для примера. КаллБеки в 1c выглядели бы гораздо лучше чем сейчас борьба с модальными диалогами. Вся логика разделения на сервер и клиент node.js другая. Язык специально сделан несовместимым ни с 7.7 ни с чем. Могли бы javascript поставить и те же объекты Убог и устарел |
|||||||
232
АнтонБ
20.07.16
✎
10:57
|
Программистов специально огородили из маркетинговых побуждений.
Понятно что человек везде пройдет, если ему нужно. Но переход затруднен насколько возможно |
|||||||
233
Serginio1
20.07.16
✎
10:58
|
(226) Развиваться не проблема. При этом ещё и возможности 1С раширять
http://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802 |
|||||||
234
tciban
20.07.16
✎
10:58
|
Язык развивается. Я начинал с 1С 6.0, видел 7.0 и 7.5, много делал под 7.7, теперь вот работаю с последним движком 8.3.8 и использую БСП. И вижу как все сильно изменилось.
Бесит только одно - БСП. Если б можно было выполнить это в виде настоящих библиотек, ну хотя бы на манер ВК всяких. Подключил и создаешь объекты, обращаешься к методам... А то шаманства много. Но все еще может измениться на наших глазах. Нормальный язык, развивается. |
|||||||
235
quest
20.07.16
✎
10:58
|
(230) хаскель не поддерживает ООП, в нем нет паттернов. Значит его изучать не надо? Лисп поддерживает ооп совсем по другому - и там паттерны просто не нужны. Его тоже учить не нужно. Ну и было бы интересно посмотреть как паттерн АбстрактнойФабрики на брейнфаке сделать.
Паттерн - не самоцель. Есть задачи где их использование обосновано. Есть задачи где они в ... не уперлсь |
|||||||
236
Serginio1
20.07.16
✎
11:00
|
(235) Изучать нужно обязательно. Это тренировка для ума и изменение мышления, что хорошо влияет на креативность!
|
|||||||
237
АнтонБ
20.07.16
✎
11:06
|
(234) БСП вообще похожа на библиотеки foxBase из 90эх.
Все нормальные правила для библиотек нарушены. Инкапсуляция - нет не слышал. Изучение ее разрушает взгляд на работу с нормальными библиотеками нормальных языков. node.js и c# |
|||||||
238
Gary417
20.07.16
✎
11:12
|
(230) <И это, при наследовании внутренности родительского класса сломать нельзя по определению. >
нет нет, при изменении логики работы родительского класса (его разработчиком), его наследники могут испортится без появления явных ошибок |
|||||||
239
quest
20.07.16
✎
11:13
|
(237) Категорично то как... Может пример приведешь? Как есть в БСП и как надо по "науке".
|
|||||||
240
Serginio1
20.07.16
✎
11:14
|
Кстати интересные фичи
https://github.com/dotnet/roslyn/issues/5445 |
|||||||
241
АнтонБ
20.07.16
✎
11:14
|
(238) СОбственно и без ООП испортится тоже, просто здесь родительский класс это документ.
и БСП в каждый жокумент докидывает своих функций. А так бы потомок юзал от БСП БСПДокумент и знал бы где сломалось. Измени в потомка на Документ.. проверил бы. |
|||||||
242
b_ru
20.07.16
✎
11:29
|
(235) Ну как бы изучение хаскеля и лиспа для мейнстримового программиста столь же (бес)полезно, сколь и 1С. Это инструменты отчасти математика, отчасти разработчика довольно специализированных вещей. Но есть одна большая разница: за хаскелем стоит строгий математический аппарат, а за 1Сом ничего не стоит кроме авторитета методистов 1С.
И паттерны конечно же не единственный параметр роста программиста, а один из. Я так и написал. (238) При любом изменении библиотеки что-нибудь да отваливается, ООП просто от этого не помогает, но так оно и не панацея. |
|||||||
243
Gary417
20.07.16
✎
11:31
|
(242) отваливается одно. а начинает глючить с пустого места (без ошибок при компиляции и прочих исключений) это другое
|
|||||||
244
lubitelxml
20.07.16
✎
11:31
|
Меня вообще бесит это псевдонаследование в 1с. Пример - на форме есть группа, в группе несколько элементов управления (допустим просто поля). Если установить у группы программно видимость = ложь, то после переопределить видимость в истину у одного элемента не получиться. Получается - хочешь показать только один реквизит из группы - для всех элементов входящих в группу пишешь видимость = ложь, а у одного истина, по факту элементов в группе может быть очень много, и для каждого приходиться писать видимость = ложь. Почему нельзя переопределить видимость только у одного элемента?
|
|||||||
245
DomovoiVShoke
20.07.16
✎
11:38
|
(223)Смешно даже обсуждать это: эти сотни, тысячи строк кода разбросанного где кому стрельнет в голову против галочек в 1с и жесткой структуризации - серьезно 1с сложнее разбирать?
|
|||||||
246
Nuobu
20.07.16
✎
11:44
|
(244) Как по мне - то ты не правильно понимаешь наследовательность. И в твоём примере оно как раз правильно работает.
|
|||||||
247
DomovoiVShoke
20.07.16
✎
11:44
|
+(245)Сейчас делаю деноминацию в базах 1с. Интересно сколько времени потребуется провести деноминацию в программе уровня БП написанной на другом языке(где заранее не предусмотрели копейки, как в белорусских базах)? В 1с я за 1ч-8ч делаю примерно. А в написанном на другом языке? Не уверен даже что за месяц изучите код)
|
|||||||
248
lubitelxml
20.07.16
✎
11:45
|
(246) почему нельзя переопределить? и почему я вместо двух строк вынужден писать по 30-40?
|
|||||||
249
Gary417
20.07.16
✎
11:46
|
(248) потому что логика группы в том чтобы перекрывать входящие в неё значения. иначе это не группа, а не понятно что
|
|||||||
250
DomovoiVShoke
20.07.16
✎
11:48
|
(244)Используй панель.
|
|||||||
251
Nuobu
20.07.16
✎
11:48
|
(247) Это потому что ты знаешь БП в 1С, а знал бы ты такое же БП на другом языке, то так же сделал бы за 1-8 часов.
(248) Потому что твои объекты состоят в группе на форме и группа приоритетнее входящих в неё элементов. Это как если бы ты поставил пароль на папку, то не хотел ставить его на входящие в него файлы. По твоей логике чтобы попасть в папку, нужно ввести пароль, а что считать, поработать с файлом - пароля не нужно. |
|||||||
252
Nuobu
20.07.16
✎
11:49
|
(251) + к (247) Ты БП выучил за 1 месяц, или за 1-8 часов?
|
|||||||
253
lubitelxml
20.07.16
✎
11:49
|
(249) (251) есть логика в ваших словах
(250) какую панель? |
|||||||
254
DomovoiVShoke
20.07.16
✎
11:50
|
(251)Мне приносят базу переделанную, я за 8ч делаю анализ, меняю и деноминирую данные. Я знаю только предметную область.
|
|||||||
255
DomovoiVShoke
20.07.16
✎
11:52
|
(253)Элемент такой. На него кидаешь свои элементы управления и показываешь/прячешь панель и не надо заморачиваться с каждым элементом когда их очень много.
|
|||||||
256
quest
20.07.16
✎
11:52
|
(242) На шаблон похоже - Ну как бы изучение %subj1% для мейнстримового программиста столь же (бес)полезно, сколь и %subj2%.
И что такое - "мейнстримовый программист"? На чем он пишет? |
|||||||
257
quest
20.07.16
✎
11:53
|
+(256) какие задачи решает?
|
|||||||
258
Nuobu
20.07.16
✎
11:53
|
(254) А еще ты знаешь 1С, знаешь как в ней устроема внутренняя структура, знаешь, что есть общие правила для доработок, знаешь, как называются таблицы для переделки.
|
|||||||
259
lubitelxml
20.07.16
✎
11:54
|
(255) ты про командную панель?
|
|||||||
260
Nuobu
20.07.16
✎
11:54
|
(259) Забей.
|
|||||||
261
lubitelxml
20.07.16
✎
11:55
|
(260) давно уже забил
|
|||||||
262
DomovoiVShoke
20.07.16
✎
11:58
|
(258)Ну это особенности 1с. Поэтому я и не понимаю как на 1с код может быть сложно читабилен, а на другом языке легко.
(259)Нет, просто панель. Забей твоя задача надумана, на практике никаких проблем. |
|||||||
263
Nuobu
20.07.16
✎
12:01
|
(262) Это зависит от привычки и от кода. Может тот, кто читал код на другом языке - читал код гов*нокодера, а может - наоборот гов*нокодером был 1С-ник. Как по мне, то разницы нет в читаемости.
|
|||||||
264
Господин ПЖ
20.07.16
✎
12:03
|
>Поэтому я и не понимаю как на 1с код может быть сложно читабилен, а на другом языке легко.
объектную модель скд (особенно имена) придумывали наркоманы |
|||||||
265
DomovoiVShoke
20.07.16
✎
12:06
|
(263)10 строк кода 1с всяк легче понять чем 100-500 строк кода на другом языке. Ну и скорость чтения и исправления отсюда вытекает.
|
|||||||
266
lubitelxml
20.07.16
✎
12:07
|
(265) это если ты на 1с пишешь, а если ты 1с не видел ни разу - не проще
|
|||||||
267
vhl
20.07.16
✎
12:08
|
(0) С языком все в порядке, даже получше некоторых. Проблемы в самой платформе. В недостаточной конфигурируемости. В тормознутости конфигуратора. Тот же поиск по текстам модулей - то, что в других IDE делается меньше секунды, в 1С растягивается на минуту. Про УФ вообще говорить не хочется - одно расстройство.
Нормальный язык, развивается. |
|||||||
268
Serginio1
20.07.16
✎
12:09
|
(267) С какими сравниваешь?
|
|||||||
269
DomovoiVShoke
20.07.16
✎
12:09
|
(266)А если ты вообще дворник из леса, то просто не возможно.
|
|||||||
270
b_ru
20.07.16
✎
12:10
|
(256) мейнстримовый программист пишет на C#, Java, C++, php (наверное). Он решает задачи автоматизации деятельности предприятий.
В России мейнстримовый программист пишет на 1С и php :) (265) 10 строк кода на 1С зачастую это 1-2 строки кода на C#. Не путай фреймворк, который у 1С прекрасен и сам язык. [w] Ах да, ты же не знаешь в чем разница, потому что дальше 1С не видишь, извини пожалуйста[/w] |
|||||||
271
Остап Сулейманович
20.07.16
✎
12:10
|
(266) "если ты 1с не видел ни разу - не проще". Это почему?
Неужели Если ... Тогда ... КонецЕсли; Более сложно чем IF (...) Then {...} ? Или где сложность? |
|||||||
272
В тылу врага
20.07.16
✎
12:10
|
язык 1C это как конструктор из крупных блоков, а С++ из мелких
Типовые здания проще/быстрее создавать из крупных блоков, а нечто нетиповое из крупных либо очень затратно, либо невозможно |
|||||||
273
Serginio1
20.07.16
✎
12:10
|
(265) Это дело привычки и программиста кто писал. Поверь, часто на 1С просто переписываю код заново. Так быстрее инадежнее.
|
|||||||
274
Serginio1
20.07.16
✎
12:12
|
И проблема в 1С в том, что в Основных языках огромные библиотеки и из-за этого код единообразен и понятен. Не нужно постоянно изобретать велосипед.
|
|||||||
275
Gary417
20.07.16
✎
12:13
|
(270) < 10 строк кода на 1С зачастую это 1-2 строки кода на C#>
зачастую эти 1-2 строчки на C# - вызов внешней библиотеки весом по 10-20 мегабайт |
|||||||
276
DomovoiVShoke
20.07.16
✎
12:15
|
(270)(271)
В документе реквизит Контрагент(спр Контрагенты) и реквизит Сделка(док Сделки) со своим реквизитом Контаргент. Контрагент = Сделка.Контрагент; Ну ка сколько строк надо забубенить чтоб на других языках замастыреть это я уже не говорю что Создать объект документ в 1с это пару кликов, сколько кода это будет на другом языке? Вакуумного коня разбирают. Практика есть. База на 1с и база на с++ например. То что на 1с будет месяц писаться на с++ будете несколько лет писать. И сидят выдумывают что нет разницы. |
|||||||
277
DomovoiVShoke
20.07.16
✎
12:16
|
+(276)А то они структуру циклов и если сравнивают, КВН.
|
|||||||
278
DomovoiVShoke
20.07.16
✎
12:16
|
+(277)Давайте тогда на Паскале все писать или Кумире, там же такая же структура если и циклов))))
|
|||||||
279
Gary417
20.07.16
✎
12:17
|
(276) на яве точно также можно сделать как и в 1С
Контрагент = Сделка.Контрагент; |
|||||||
280
Serginio1
20.07.16
✎
12:18
|
||||||||
281
DomovoiVShoke
20.07.16
✎
12:19
|
(279)Ну понятно если свои объекты написать. Сколько кода на это уйдет?
|
|||||||
282
Serginio1
20.07.16
✎
12:19
|
||||||||
283
Serginio1
20.07.16
✎
12:19
|
(281) На кнопку нажать.
|
|||||||
284
vhl
20.07.16
✎
12:20
|
(268) Та же Java. В 1С - автоматическое приведение типов и это просто шикарно. Или те же параметры по умолчанию у фкнций - в Java этого нет. В Java нельзя изменить значение входного параметр и приходится городить огород с доп. классами. Да много где 1С обходит в удобстве.
|
|||||||
285
DomovoiVShoke
20.07.16
✎
12:20
|
(283)Да гонево.
|
|||||||
286
Serginio1
20.07.16
✎
12:22
|
(284) На C# это все есть.
(285) Скачай и посмотри http://files.rsdn.ru/19608/CodeFirstTo1C.zip http://files.rsdn.ru/19608/CodeFirstTo83.zip |
|||||||
287
Serginio1
20.07.16
✎
12:22
|
286->285
|
|||||||
288
DomovoiVShoke
20.07.16
✎
12:23
|
+(285)Я вообще то 5 лет учился на не 1сного программиста и программил я на разных языках даже на Делфи который якобы под написание баз данных заточен это не на кнопку нажать, не надо тут чушь загонять.
|
|||||||
289
Gary417
20.07.16
✎
12:23
|
(284) < В Java нельзя изменить значение входного параметр>
да ладно? |
|||||||
290
b_ru
20.07.16
✎
12:23
|
(275) А в 1С не так? :) Если уж производительностью и оптимизированностью меряться, то 1С тут нечем похвастать даже по сравнению с Явой.
(281) Ты не поверишь, есть фреймворки с готовыми объектами справочник и договор на других языках. (284) То что ты перечислил - это то, что сделано в языке 1С правильно. |
|||||||
291
vhl
20.07.16
✎
12:24
|
(276) Да 1С как ОРМ это вообще бомба. Я не видел ни одной нормальной ОРМ без танцев с бубнами, сотнями строк доп. кода, настройками через аннотации какие нибудь. В 1С - получить объект - 1 строка. Все. Даже вложенные таб части тебе подтянет.
|
|||||||
292
b_ru
20.07.16
✎
12:24
|
(288) Хреново учился. Но не ты один :)
"Даже на Дельфи" - весьма показательно |
|||||||
293
Gary417
20.07.16
✎
12:25
|
(284) параметры по умолчанию да, но они есть в C# например...в яву давно этим кидают
|
|||||||
294
DomovoiVShoke
20.07.16
✎
12:25
|
(290)2)пусть себе есть, это не значит что программист пользуется этим. А раз по умолчанию этого нет, то и в прогарммах скорее всего этого не будет или будет через опу вставлено.
|
|||||||
295
vhl
20.07.16
✎
12:25
|
(289) имеется ввиду так, чтобы в вызвавшей функции он тоже поменялся.
|
|||||||
296
b_ru
20.07.16
✎
12:26
|
(293) Ява так-то то еще говнецо как язык.
|
|||||||
297
DomovoiVShoke
20.07.16
✎
12:26
|
(292)Ну я по крайней мере чушь тут не загоняю)
|
|||||||
298
vhl
20.07.16
✎
12:27
|
(286) (293) мне не интересен C#. Попросили привести примеры - я привел.
|
|||||||
299
Gary417
20.07.16
✎
12:28
|
(295) ну это просто надо помнить что параметры по ссылке передаются... помню в vb был даже параметр byval и byref который этим управлял
на самом деле в этом есть доля логики, при передачи в ф-цию параметр по значению - надо создавать клон объекта, а это крайне сложный и неоднозначный процесс |
|||||||
300
b_ru
20.07.16
✎
12:29
|
(297) У нас просто разные точки зрения. Ты узкоспециализированный одинэсник, я полноценный разработчик, в том числе одинэсник. Но то насколько хорош или плох язык 1С глупо обсуждать не зная ничего другого ;)
|
|||||||
301
vhl
20.07.16
✎
12:29
|
(299) проблема не в том, что надо помнить. Проблема в том, что то, что в 1С работает сразу, в Java надо доп. классом решать.
|
|||||||
302
quest
20.07.16
✎
12:30
|
(270) А на какой java надо писать что бы быть в мейнстриме? сейчас вот уже 8 версия. Если я пишу на древней как гуано мамонта 1.08 - я в мейнстриме. Если на кложе/скале пишу тоже в мейнстриме? То же для с++/php/c# - они также меняются и развиваются.
Язык - просто способ описания абстракций. Да, со своими батарейками и т.д., но все равно инструмент. Надо для задачи - дописал и поменял, не надо пользуй то что есть. И делить по этому признаку на мейнстрим или не мейнстрим - глупо. Еще более глупо делить языки по признаку реализации шаблонов. (280) Ну задолбал уже своей рекламой. Сколько можно???? |
|||||||
303
Gary417
20.07.16
✎
12:31
|
(301) потому что в 1С нет ООП, и там нет таких опасностей при передаче объектов
|
|||||||
304
b_ru
20.07.16
✎
12:32
|
(302) А по каким же принципам их тогда делить не глупо? Или по-твоему ЯП это в принципе вещь в себе, которую нельзя ни оценить, ни сравнить с другими? Бери да пользуйся, если он Тьюринг-полный?
|
|||||||
305
vhl
20.07.16
✎
12:33
|
(303) еще один аргумент в пользу того что ООП - уг.
|
|||||||
306
novichok79
20.07.16
✎
12:33
|
(0) язык развивается, именно для бизнес-разработки самое оно. платформа не очень быстрая, но это устранят. что вы собрались решать в 1С? самое сложное, что я пока видел в типовых - расчет себестоимости посредством системы линейных уравнений. зачем усложнять то, что и так работает?
Нормальный язык, развивается. |
|||||||
307
quest
20.07.16
✎
12:36
|
(304) Язык - это инструмент. Как молоток. Если надо сильно ударить - берешь кувалду. Надо легонько - часовой молоточек. И никто на эту молотки не делит на мейнстримовые или нет.
И да - сравнивать ЯП - глупо. |
|||||||
308
Gary417
20.07.16
✎
12:37
|
(305) спорно, мы так ща дойдём до того что на кубейсике писать надо
|
|||||||
309
Gary417
20.07.16
✎
12:38
|
(307) <И никто на эту молотки не делит на мейнстримовые или нет. >
тем не менее в супермаркете выбор молотков среднего веса гораздо шире чем часовых и кувалд |
|||||||
310
DomovoiVShoke
20.07.16
✎
12:41
|
(300)Вы просто коня в вакууме разбираете, а я разбираю как это на практике. И раз фирмы готовы заплатить деньги чтоб уйти от готовой программы написанной на другом языке и перейти на 1с, то моя точка зрения правильная.
10 языков не надо знать чтоб понимать общую суть и что в них есть и что есть в 1с и в чем его плюсы. И если разбирать читабельность, то просто берете готовую прогу и смотрите что и как там написано: по 500 элементов на форме, полотенца кода по 10к и т.д. И это нормальные рабочие программы) На 1с вы в страшном сне такого не увидите. Это как С Гарыкомом разбирались. Пока вы не станете специалистом хоть в чем-то вы не сможете понять что сейчас вы еще студент: как можно и как реально в жизни это совсем разные вещи. |
|||||||
311
b_ru
20.07.16
✎
12:42
|
(307) Молоток от 0,5 до кило - мейнстрим, Кувалада и часовой молоточек - узкоспецилизированные инструменты. В чем проблема то?
Сравнивать ЯП не глупо. ЯП это инструмент, причем гораздо более сложный чем молоток, как всякий сложный инструмент его есть смысл совершенствовать. Другое дело, что в разработке ПО сам ЯП не самый важный инструмент, но и не самый последний. |
|||||||
312
Serginio1
20.07.16
✎
12:50
|
(301) Это работает и в C# через WCF.
Другое дело, что в 1С серверный код и клиентский код пишется вместе. Но например если бы применить замыкания для вызова серверного кода было бы еще лучше. Разбить автоматически модальные вызовы на несколько методов или через конечный автомат тоже улучше ло бы читаемость и уменьшило количество кода Добавить нормальную асинхронность увеличит производительность. |
|||||||
313
ZloyBrawler
20.07.16
✎
12:52
|
Очередная религиозная война на тему языков программирования...
Можно долго обсуждать мощь и убожество оных, но язык 1С однозначно сделан именно таким какой он есть, чтобы иметь возможность выполняться как в классическом толстом клиенте, современном тонком клиенте, плюс вэб-клиенте. В язык 1С не закладывают никаких ООП осознанно, потому как это там не нужно. Язык 1С как я считаю - это банальный скриптовый язык программирования заточенный для работы с объектами платформы 1С. Не думаю, что уж так сильно востребованы задачи на стороне вэб-клиента по созданию объектов и их наследников, со всеми прелестями ООП. В итоге получится не тонкий/вэб-клиент, а очередной толстый клиент, на который придется придумывать тонко-тонкий клиент и 4 уровень над уже имеющейся трех уровневой моделью. Нормальный язык, развивается. |
|||||||
314
b_ru
20.07.16
✎
12:54
|
(310) У тебя классическая логическая ошибка в рассуждениях. То что есть хреновые самописки, которые есть смысл перевести на 1С, совсем не значит, что 1С хорошая или плохая. Тем более это не значит, что язык 1С хороший или плохой.
Еще раз: платформа 1С и язык 1С это разные вещи. |
|||||||
315
orefkov
20.07.16
✎
12:57
|
Хм, просмотрел ветку.
Люди совершенно не понимают ни что такое наследование, ни передача параметра по ссылке/значению, ни разделения клиент-сервер, а берутся обсуждать языки программирования. Полиграф-полиграфщина какая-то. |
|||||||
316
ZloyBrawler
20.07.16
✎
13:00
|
(315) это они еще не программировали на aris abs basic)))
|
|||||||
317
Господин ПЖ
20.07.16
✎
13:06
|
(315) это норма. 1с-ники
|
|||||||
318
ZloyBrawler
20.07.16
✎
13:07
|
(315) Вопрос как к специалисту.
Я правильно понимаю, что 1С в сервере/тонком клиенте/вэб-сервере реализует программную часть занимающуюся интерпретацией и исполнением байт кода, только на стороне сервера 1С возможностей больше нежели на стороне клиента/вэб-сервере? К тому же 1С приходится неявно (для программиста) дублировать некоторые классы чтобы ими можно было пользоваться не только на стороне сервера? |
|||||||
319
DomovoiVShoke
20.07.16
✎
13:09
|
(314)Да самописки все по сравнению с 1с хреновые, потому что никто не будет заранее писать платформу как в 1с чтоб потом была масштабируемая БД. И когда надо усложнить БД или навесить функционал, оказывается что надо переписать пол программы.
Странное разделение на платформу и язык) Как можно рассматривать язык отдельно от программатора? |
|||||||
320
Mr_Rm
20.07.16
✎
13:10
|
(315) Обсуждается больше платформа целиком, а не отдельно язык программирования. Язык в отрыве от среды 1С до недавнего времени вообще не существовал.
|
|||||||
321
ZloyBrawler
20.07.16
✎
13:11
|
(318) Было дело по молодости еще на делфях седьмых игрался с движком Pascal Script от RemObjects, там налету можно было увеличивать или уменьшать возможности для скриптов. Допустим запуская скрипт он мог использовать некую функцию, а перед запуском другого скрипта эту функцию можно было исключить из доступных и тогда даже компиляция скрипта проваливалась бы, если он что-то недоступное хочет использовать. Думаю платформа 1С работает по похожему принципу.
|
|||||||
322
orefkov
20.07.16
✎
13:14
|
(318)
Да, так и есть. До какой-то из версий 8.2 для веб-клиента 1С делало трансляцию своего кода в javascript-код для исполнения в браузере, а затем они сделали для поддерживаемых браузеров нативные расширения, в которых код 1С исполнялся напрямую. Сама исполняющая машина скорее всего одинакова во всех этих вариантах, различается контекст окружения (глобальный контекст). Для каждого из варантов он свой. При этом толстый клиент (конфигуратор) для синтакс-проверки умеет выспроизводить все эти варианты окружения. Например, когда в снегопате перебираешь все возможные глобальные контексты и их методы, метод Сообщить встречается несколько раз. |
|||||||
323
orefkov
20.07.16
✎
13:18
|
(321)
Ну, принцип примерно такой и есть. В исполняющей машине 1С регистрируются глобальные объекты, методы и свойства которых становятся глобальными методами и свойствами в языке. В справке это отражено - есть "Встроенные методы", типа Лев, Прав и т.п., а есть методы глобального контекста. Так вот они и подключаются при старте. Вместо одного объекта подключается другой - и готово. |
|||||||
324
vhl
20.07.16
✎
13:18
|
(315) Я работал и работаю на Java. И могу сказать, что все эти наследования хороши только в примерах в учебнике типа "Животное->Кошка->Собака". В реальной жизни это только усложняет разработку. А ненужное усложнение - плохо. Все программирование в ООП - это компромис. Вместо того чтобы что-то взять и сделать, необходимо это обертывать в классы, выстраивать интерфейсы, прописывать доступы и прочее. Куча ненужных действий просто потому что "такая идеология".
|
|||||||
325
b_ru
20.07.16
✎
13:20
|
(319) (320) Вы название темы читать не пробовали?
Язык отдельно от платформы очень даже можно рассматривать. В конце концов это у 1С все единообразное и неделимое, у других производителей вполне может быть поддержка нескольких языков. В SAP к примеру, можно писать на ABAP'е, а можно на Яве (правда, SAP это не спасает) |
|||||||
326
vhl
20.07.16
✎
13:21
|
(322) >нативные расширения, в которых код 1С исполнялся напрямую
Щито? Ты про расширения для прикрепления файлов? |
|||||||
327
ZloyBrawler
20.07.16
✎
13:23
|
(319) Вот недавно уволился с прежнего места работы, и там вот самописная нетленка на делфях (производственный учет/склад/...)(слава богу без меня писанная), никакой платформы там нет отродясь (бизнес логика в формочках), сейчас стоит вопрос перемен, а это 100% переписывание всего функционала, так как само проектирование и разработка шла далеко от идеала и с нарушением всего того, что описано в книге "Быстрая разработка программ. Принципы, примеры, практика" "Agile Software Development. Principles, Patterns and Practices".
|
|||||||
328
Господин ПЖ
20.07.16
✎
13:25
|
(324) осталось почитать про паттерны и жизнь наладится...
|
|||||||
329
vhl
20.07.16
✎
13:26
|
(328) Осталось попробовать в реальности "паттерны", а не рассуждать про то, что написано в книжках.
|
|||||||
330
b_ru
20.07.16
✎
13:30
|
(324) ООП это обоснованное усложнение. То есть взять и сделать с ООП сложнее чем без него, зато взять и переделать проще.
|
|||||||
331
Gary417
20.07.16
✎
13:31
|
(330) при грамотной архитектуре переделать проще, а не когда по книжке сделано Животное.собака.погладить()
|
|||||||
332
ZloyBrawler
20.07.16
✎
13:34
|
(331) вообще то "<имя переменной>.Погладить()"
|
|||||||
333
b_ru
20.07.16
✎
13:36
|
(332) Ну вот при хреновом проектировании погладить() будет статическим методом :)
|
|||||||
334
DomovoiVShoke
20.07.16
✎
13:36
|
(327)А я о чем? Но некоторые тут утверждают что легко прочитают код и потом смогут переделать, при чем это легче чем на 1с)
бизнес логика в формочках - почти во всех программах так - это нормально, как я и говорил движок никто писать не будет, иначе уже давно убили бы 1с. "само проектирование и разработка шла далеко от идеала и с нарушением всего того, что описано в книге " Это тоже почти во всех программах так, жестких норм нету, поэтому пишут как получается и как бизнесвыгодно. Вот это уже реальность. И в реальности 1с еще на старте обскочит любой язык по задачам написания небольших БД. |
|||||||
335
Mr_Rm
20.07.16
✎
13:37
|
(325) Так я именно обращаясь к теме. Вопрос был о развитии языка 1С в сравнении с другими. И какое же было развитие от v70 до v8?
|
|||||||
336
quest
20.07.16
✎
13:40
|
(335) Вы во сне провели последние 10 лет?
|
|||||||
337
orefkov
20.07.16
✎
13:40
|
(326)
С 8.2.14 реализовано непосредственное исполнение кода 1С в вебклиенте, без трансляции его в javascript. То есть в браузер сначала грузится расширение, этакий "мини-1С клиент", который и выполняет 1Сный код. |
|||||||
338
b_ru
20.07.16
✎
13:44
|
(335) С 7.7 цикл "Для Каждого" добавили и инструкции препроцессора и директивы компиляции. Еще строковых функций в ассортименте и новую коллекцию (Соответствие). Рефлексию, программное управление событиями и ... вроде все.
Не густо за столько лет. В этом то и проблема. |
|||||||
339
DomovoiVShoke
20.07.16
✎
13:45
|
(325)Гипотетически можно что угодно рассматривать. Вот в универе у меня был препод на 1 курсе по алгоритмизации. Он говорил: Какая разница на каком языке писать они все по сути одинаковы: те же циклы, условия, типы переменных. В итоге программку по тестированию, которую я бы на 1с написал за пару вечеров, он писал уже лет 5 на учебном языке Кумир (что-то типа паскаля) и не знаю сколько лет после этого. Вот такая она разница в языках. Без программатора язык рассматривать даже нет смысла, а уж тем более в 1с, где создание объектов в конфигураторе вы не можете заменить кодом.
|
|||||||
340
ZloyBrawler
20.07.16
✎
13:45
|
(338) Почитайте RemObjects Pascal Script http://www.remobjects.com/ps.aspx и у вас сложится четкая параллель с языком 1С и почему у него такие какие есть возможности.
|
|||||||
341
akaBrr
20.07.16
✎
13:49
|
Нужен другой язык? Вы ж программисты - напишите свой конфигуратор, хотя бы на 1с, который бы поддерживал ваш супер-пупер язык и транслировал бы его в байт код 1с. 2-3 года разработки - профит.
|
|||||||
342
akaBrr
20.07.16
✎
13:52
|
А, да, пусть и медленно но развивается
Нормальный язык, развивается. |
|||||||
343
vhl
20.07.16
✎
13:54
|
(337) Да, но это расширение все равно на JS, разве нет?
|
|||||||
344
Serginio1
20.07.16
✎
14:08
|
(324) По простому.
Классы нужны 1. Для хранения состояния. Что бы не передавать из функции в функцию список переменных 2. Наследование нужно для расширения и переопределения методов Для примера возьмем общий модуль. Если бы он был сделан в виде класса, то я бы мог бы создать объект инициализировал его переменные, а затем вызывал бы методы и обращался к переменным внутри метода. При этом объект может располагаться как на клиенте так и на сервере. Например мне захотелось немного изменить этот модуль (класс) Я делаю наследование. Переменные наследуются по умолчанию. Я создаю только новые методы и переопределяю некоторые методы. Мне не нужно писать все методы родителя. Это просто удобно. Кроме того в языках есть методы расширения, позволяющие как бы добавлять методы для объекта. Например 4.УмножитьНа(3)==12 |
|||||||
345
Coldboy
20.07.16
✎
14:19
|
Неплох в осовоение и не сильно хуже других, по сравнению с его историей развития.
Нормальный язык, развивается. |
|||||||
346
jk3
20.07.16
✎
14:20
|
(0) В языке, например, не хватает оператора инкремента ++.
Уж допилить компилятор, чтобы он распознавал такой оператор, я думаю, вообще не проблема. Но воз и ныне там. А в IDE, например, не хватает сочетания Ctrl-D для дублирования текущей строки. Про фреймворки в виде БСП, БИП, БПО, БЭД вообще молчу. |
|||||||
347
Gary417
20.07.16
✎
14:22
|
(346) <В языке, например, не хватает оператора инкремента ++. >
самый ключевой недостаток... без полноценной головоломки: чему равно ++i==++i язык не язык |
|||||||
348
Coldboy
20.07.16
✎
14:22
|
(346) сч = сч+1, тебе в помощь )
|
|||||||
349
Nuobu
20.07.16
✎
14:27
|
(347) Как мне кажется - тут человек воет о том, что к нему, как к потребителю языка, относятся плохо. Он говорит: мне нужен инкремент. Парни из 1С: да пошел ты на йу*х. Он такой: ну ок, пойду на Мисту журю.
|
|||||||
350
orefkov
20.07.16
✎
14:31
|
(343)
Да, посмотрел сейчас в chrome. Грузится исполняющее "ядро" на javascript, модули подгружаются уже в скомпилированном виде в виде набора опкодов, списка методов и т.п. |
|||||||
351
ilkoder
20.07.16
✎
14:33
|
Ну так в 1с это не нормальный язык, а именно внутренний язык системы 1с. Развивается система 1с, а язык просто для описания алгоритмов в определенных местах.
|
|||||||
352
Garykom
гуру
20.07.16
✎
14:33
|
Эта когда до обсуждения спецификации "нового внутреннего языка 1С" дойдете, меня позовите...
|
|||||||
353
Evpatiy
20.07.16
✎
14:53
|
Одназначно
Убог и устарел |
|||||||
354
Sabbath
20.07.16
✎
15:01
|
Обычный язык. Решает свои задачи.
Нормальный язык, развивается. |
|||||||
355
Mr_Rm
20.07.16
✎
15:04
|
(335) 20 лет. Когда там 1С:Предприятие 7.0 вышло?
(338) Вот. А возьмем для сравнения php, к примеру. |
|||||||
356
Sabbath
20.07.16
✎
15:05
|
(226) росту подавляющего большинства программистов мешает не язык, а их лень
|
|||||||
357
vhl
20.07.16
✎
15:17
|
(344) 1. В 1С это делается штатными средствами без всяких классов. Объект называется "Соответствие".
2. Чем тебя общие модули не устраивают? Нужно вызвать методы родителя - просто вызывай "мойОбщийМодуль.Метод()". Зачем этот огород с "наследованием"? |
|||||||
358
В тылу врага
20.07.16
✎
15:20
|
(315) ну допустим ты сам в (91) отморозил
|
|||||||
359
Kyon8
20.07.16
✎
15:28
|
(346) Инкремент не очень нужен, особенно с побочными эффектами, а вот +=, -= и т.д. бы пригодились.
|
|||||||
360
Serginio1
20.07.16
✎
15:31
|
(357) Структура или Соответствие это просто набор значений.
Нет методов Если мне нужно из метода Метод() вызвать другой метод использующий те же данные, я должен их сдублировать через параметры либо каждую переменную по отдельности, либо запихать в структуру. Это обычный процедурный подход. Просто ты не программировал с использованием классов. Наследование это когда я хочу в новом Модуле (классе) использовать переменные и методы родителя только добавив новые методы переменные или переопределить некоторые. |
|||||||
361
vhl
20.07.16
✎
15:40
|
(360) >Просто ты не программировал с использованием классов.
лол што? Читай (324) Я уже несколько лет на Java сижу и прекрасно представляют что это такое. Ты можешь привести конкретный пример из реальной жизни, который бы оправдывал применение классов вместо процедурного подхода? Пока я вижу только примеры наследований ради наследований - просто потому что "так можно". |
|||||||
362
тарам пам пам
20.07.16
✎
15:41
|
Нормальный язык, но развивается очень уж медленно.
Сейчас, ИМХО, самая большая проблема самого языка - отсуствие модульности в формах, возможности создавать свои "виджеты". Из-за этого в формах куча однострочных обработчиков событий, вызывающих общий модуль. А при необходимости добавить новый обработчик - сиди, меняй все формы, получай ошибки в формах, где забыл поменять, получай кучу "измененных" форм при обновлении. Еще проблема - необходимость кучи модулей с постфиксами Клиент, Сервер, ПовтИсп и т. д., к которых куча мусорных экспортных функций, которые на самом деле не являются API модуля. Вообще в целом модульности не хватает. В запросах, например, не хватает возможности описывать свои "виртуальные таблицы" - т. е. чтобы, в запросе можно было написать Цены(&Номенклатура, &Контрагенты, &Дата); а в модуле менеджера регистра Цены было бы описано, что такая "виртуальная" таблица разворачивается в Цены.СрезПоследних с расчетом например скидок конкретным контрагентам. Тогда исходный запрос не знал бы ничего про конкретную структуру хранения цен => ее можно безболезенно изменять хоть на справочник, хоть на регистр, хоть вообще на внешний источник без изменения исходного запроса. Нормальный язык, развивается. |
|||||||
363
b_ru
20.07.16
✎
15:43
|
(339) Я как бы начинаю понимать, что в том что ты плохо выучил теорию ЯП есть не только твоя вина :)
Не надо кстати выдумывать неологизмы. Программатор - это устройство для записи флеш-памяти, а то о чем ты рассуждаешь зовется среда (или RAD). Представь себе что в 1С вместо языка 1С применяется Java Script. Тот же конфигуратор, те же объекты в нем создаются (а не в коде), но вместо Для Каждого Элемент Из Коллекция Цикл
мы будем писать foreach (Элемент in Коллекция)
Лучше будет или хуже? (346) В IDE много чего не хватает. Нормального IntelliSense в первую очередь. (361) ООП так-то это не только наследование. В 1С больше всего именно инкапсуляции данных и процедур не хватает, синтаксический сахар в чистом виде. Наследование в 1С конечно было бы хорошо, особенно на уровне метаобъектов. К примеру Метадокумент "ДвижениеДенег" от него наследуются ПоступлениеВКассу и ПоступлениеНаРасчетныйСчет, вместо разбросанных по семи общим модулям процедурок в БСП. |
|||||||
364
Serginio1
20.07.16
✎
15:47
|
(361) Еще раз классы могут и не использовать наследование. Это прежде всего хранение состояния.
А что не понятно в >> Если мне нужно из метода Метод() вызвать другой метод использующий те же данные, я должен их сдублировать через параметры либо каждую переменную по отдельности, либо запихать в структуру. Это обычный процедурный подход. Если у меня куча переменных я их засовываю в структуру. Эту структуру передаю в параметрах другого метода. И обращение в другом методе идет без синтаксической подсказки (IntelliSense ) итд. Если ты и программировал на Java то очень мало. |
|||||||
365
Nuobu
20.07.16
✎
15:51
|
Мне в этом языке не нравится, что нет обратной связи между мной, как разработчиком и фирмой 1С. А так:
Нормальный язык, развивается. |
|||||||
366
Gary417
20.07.16
✎
15:53
|
(365) а в каких языках есть подобная полноценная обратная связь?
|
|||||||
367
romix
20.07.16
✎
15:54
|
Имхо не хватает троичной логики. Любая операция с Неопределенно дает Неопределенно, кроме:
Несуществующие реквизиты и поля структуры = Неопределенно. (м.б. опционально). Нормальный язык, развивается. |
|||||||
368
Nuobu
20.07.16
✎
16:00
|
(366) ХЗ, я только на 1С программирую.
|
|||||||
369
vhl
20.07.16
✎
16:02
|
(364) Ну я так и думал. Когда кончаются аргументы - начинаются попытки унизить оппонента. На просьбу привести реальный пример рассказываешь про некий метод из метода с какими то данными и вот якобы так удобно. Что за метод, что за данные? Опять одна теория.
|
|||||||
370
vhl
20.07.16
✎
16:04
|
(363) Зачем тебе инкапсуляция? Какие преимущества? Можно реальный пример?
|
|||||||
371
vhl
20.07.16
✎
16:06
|
(366) Java - опен сорсный продукт.
|
|||||||
372
Gary417
20.07.16
✎
16:07
|
(371) смешно :) Ораклу это расскажите который с Гуглом судится
|
|||||||
373
Gary417
20.07.16
✎
16:08
|
(371) опенсорсность явы не подразумевает наличие обратной связи с разработчиками...
если вы IBM то вас послушают, а если вася-программер, то "кто тут?" (c) |
|||||||
374
Serginio1
20.07.16
✎
16:09
|
(369) Чем я тебя обидел?
Для примера документ, справочник Отчет или обработка суть объекта. Ты можешь обрашаться к переменным обработки. В общем модуле нет переменных и ты должен передавать переменные из метода в метод. |
|||||||
375
b_ru
20.07.16
✎
16:13
|
(370) Да пожалуйста. Вот мой код, который работает со сторонним веб-сервисом
В данном случае КС - это структура, содержащая кучу переменных, нужных для работы (id сессии, состояние подключения и т.п.) Есть набор процедур, принимающих в качестве параметра эту структуру и так или иначе меняющие ее поля. В целом это все типичный ООП-подход реализованный на процедурном языке. |
|||||||
376
Mr_Rm
20.07.16
✎
16:14
|
(363) В Коллекцию можно вставить Элементы разных типов, тогда функция СделатьЧтоНибудь(Элемент) наверняка будет начинаться с проверок Если ( ТипЗначения(Элемент)= *** ) ИначеЕсли ... с собранным в кучу кодом, относящимся к разным типам.
Вызов Элемент.СделатьЧтоНибудь() более логичен, но его поведение в случае отсутствия метода у типа зависит от языка. Кстати, в 1С нет оператора, аналогичного switch. |
|||||||
377
vhl
20.07.16
✎
16:14
|
(373) вообще то любой может принять участие в разработке: http://openjdk.java.net/contribute
|
|||||||
378
Gary417
20.07.16
✎
16:17
|
(377) может, мне интересно сколько лет займёт внедрение нового модуля в яву который я напишу?
|
|||||||
379
b_ru
20.07.16
✎
16:17
|
(376) Основная идея ООП в том, что никаких проверок Если ( ТипЗначения(Элемент)= *** ) быть не должно. Я в цикле зову метод, а уж сами объекты знают как этот метод у них исполняется.
Инкапсуляция + наследование + Интерфейсы |
|||||||
380
vhl
20.07.16
✎
16:17
|
(374) Ну документ - объект. Он и в 1С объект. Зачем тебе для этого классы и наследование?
Т.е. единственная проблема - передача параметров? А разве тебе в наследуемом классе не придется то же самое делать через super(params...) - такое же копирование. В чем выгода? |
|||||||
381
Serginio1
20.07.16
✎
16:19
|
374 + Мало того например объекты на сервере могут хранить срстояние между вызовами с клиента в том числе мутабельных значений. В asp.Net можно данные привязывать к сессии.
|
|||||||
382
b_ru
20.07.16
✎
16:19
|
(381) У нас же stateless сервер, так что не могут.
|
|||||||
383
vhl
20.07.16
✎
16:21
|
(378) Ну ты сначала жаловался что не можешь участвовать. Теперь жалуешься что долго. А если бы было быстро - то жаловался бы что слишком быстро меняется. Не угодишь...
|
|||||||
384
vhl
20.07.16
✎
16:22
|
(381) Параметры сеанса для этого есть
|
|||||||
385
orefkov
20.07.16
✎
16:22
|
(363)
В 1С боле-менее приличный инеллисенс для языка с динамической типизацией. Большинство ИДЕ для javascript даже так не могут, и подсказки если и вываливают, то практически наугад, сливая тому же typescript'у чуть менее, чем полностью. |
|||||||
386
Serginio1
20.07.16
✎
16:23
|
(380) Тебе этого мало? Это не только передача параметров, но и IntelliSense.
Про хранение состояния между вызовами уже писал. Наследование это другая песня. Она тоже имеет смысл. Например сделал отчет определил реализацию определенных методов, а в наследниках только добавляю новые методы или переопределяю методы родителя. Сейчас для обеспечения утинной типизации я должен в каждом отчете писать одни и теже методы. |
|||||||
387
Serginio1
20.07.16
✎
16:24
|
(365) А как же Typescript?
|
|||||||
388
vhl
20.07.16
✎
16:24
|
(375) ну модифицируешь ты структуру, чем это плохо? Чем бы ООП тебе помог?
|
|||||||
389
b_ru
20.07.16
✎
16:24
|
(385) Нарываешься на комплимент и рекламу снегопата? :)
Если бы в 1С был приличный интеллисенс, зачем он был бы нужен? |
|||||||
390
Mr_Rm
20.07.16
✎
16:25
|
(379) Инкапсуляция + наследование + полиморфизм.
В 1С нет ни наследования, ни функций как объектов. И нет предпосылок к появлению, если только в v9. |
|||||||
391
vhl
20.07.16
✎
16:26
|
(386) >Например сделал отчет определил реализацию определенных методов, а в наследниках только добавляю новые методы или переопределяю методы родителя.
В чем преимущество между: >Например сделал обработку "ОбщийОтчет" а в других отчетах только добавляю новые методы или переопределяю методы родителя |
|||||||
392
b_ru
20.07.16
✎
16:26
|
(390) Причем тут полиморфизм в том примере?
Предпосылок конечно нет, если за 20 лет 3,5 изменения внесли. |
|||||||
393
Jokero
20.07.16
✎
16:27
|
(379) Основная идея ООП, что с объектом данных работает только сам объект.
И если это не так, то потом начинаются овер сто тыщ тем на форуме, что кто-то меняет данные, но не понятно кто и из какого из овер 100 000 общих модулей происходит подмена. |
|||||||
394
Serginio1
20.07.16
✎
16:28
|
(391) Ты должен создать методы которые есть в ОбщийОтчет
и из них вызывать методы ОбщийОтчет |
|||||||
395
Serginio1
20.07.16
✎
16:30
|
В наследовании если тебе не нужно переопределять методы ОбщийОтчет то ты их просто и не пишешь. То есть если тебе нужно добавить 1 метод, то в новом модуле будет 1 метод. А в ОбщийОтчет может быть 100 методов
|
|||||||
396
Mr_Rm
20.07.16
✎
16:30
|
(390) Если в Элементы Коллекции - объекты-потомки одного класса, то метод Элемент.СделатьЧтоНибудь() будет вызван дл я соответствующего типа (класса).
|
|||||||
397
Serginio1
20.07.16
✎
16:36
|
(396) В скриптовых языках это идет через утиную типизацию
|
|||||||
398
orefkov
20.07.16
✎
16:36
|
(389)
Заметь, я не писал, что intellisence в 1С идеальный :) А его расширение снегопатом - лишь малая часть функционала. Но вот в новой версии подсказку по параметрам методов я уже не реализую - не просят, хватает штатной. Вот чего бы хотелось, так это иметь возможность явно указывать подсказке тип переменных, как например в TypeScript. Вот к примеру работа с восьмерочными объектами на TypeScript в Visual Studio Code: https://www.youtube.com/watch?v=vJnZPLe67Aw в одном случае TypeScript сам вывел тип переменной из v8New("ТаблицаЗначений"), а для параметра функции я тип указал явно через двоеточие. Пока в 1С это делается через костыли. |
|||||||
399
Mr_Rm
20.07.16
✎
16:40
|
(397) Ну да, есть метод - вызываем, нет - молча пропускаем.
|
|||||||
400
Serginio1
20.07.16
✎
16:44
|
(398) Спасибо. Интересно.
|
|||||||
401
Serginio1
20.07.16
✎
16:48
|
400+ Вот, во что хотелось бы преобразование 1С так это в TS
|
|||||||
402
Serginio1
20.07.16
✎
16:48
|
Kotlin тоже неплох.
|
|||||||
403
vhl
20.07.16
✎
16:49
|
(395) Это все теория. На практике таких случаев, когда у тебя будет 10 отчетов с одинаковыми процедурами очень мало. Максимум - 2-3 схожих. Т.е. вроде как и наследование, да только в реальности не используется.
|
|||||||
404
romix
20.07.16
✎
16:51
|
(398) Я везде пишу что-то вроде
Если Ложь Тогда док=Документы.ИмяДокумента.ПустаяСсылка(); КонецЕсли |
|||||||
405
Serginio1
20.07.16
✎
17:02
|
(403) В реальности их достаточно. Часто плюёшься как на отсутствие классов так и на отсутствие наследования, а так же отсутствие замыканий при использовании универсальных алгоритмов
http://catalog.mista.ru/public/371762/ Ну и как я уже писал есть конкретные вещи которые могут упростить программирование Плюс реально по аналогии с await в 1С можно 1. Разворачивать модальные методы используя конечный автомат 2. Вызов серверных функций через замыкания. 3. Асинхронные вызовы |
|||||||
406
b_ru
20.07.16
✎
17:04
|
(403) Это вообще не довод. В 1С же есть БизнесПроцесс, РегистрРрасчета, Задача, ГеографическаяСхема и АнализДанных.
|
|||||||
407
orefkov
20.07.16
✎
17:06
|
(404)
Именно это я и называю "костыли". Со снегопатом я их немного облагородил, позволяя заменить на //: док=Документы.ИмяДокумента.ПустаяСсылка() но хотелось бы поддержки этого от платформы в цивилизованном виде. Ведь к примеру когда-то в 8ке не было #Область, не было подсказки параметров методов, но ведь появились же, не будем гадать, по каким причинам. Может, и это появится со временем. |
|||||||
408
vhl
20.07.16
✎
17:09
|
(406) БизнесПроцессы? Вы просто не умеете их готовить: http://imgur.com/a/X7YXp
|
|||||||
409
b_ru
20.07.16
✎
17:10
|
(408) Тут целая куча бестолочей которые не умеют готовить ООП вообще никак. Неужели же мне нельзя не уметь готовить бизнес-процессы? :)
|
|||||||
410
Задумчивый
20.07.16
✎
17:11
|
куда там жабе, сидиезу, сипласпласу до него
Нормальный язык, развивается. |
|||||||
411
vhl
20.07.16
✎
17:16
|
(409) Я просто говорю про реальный опыт использования ООП. Все эти "фишки" из книг в реальном мире оказываются бесполезными и вот у тебя 80% приложения из отдельных классов просто потому что там нед дублирующегося функционала. А там где есть, какой-то добрый разработчик поставил private или package private и вот вся ваша красота идет псу под хвост
|
|||||||
412
Gary417
20.07.16
✎
17:29
|
(411) Фишки в книгах описаны для общего понимания, они не руководство к действию и даже не рекомендация что "делать надо именно так"
С опытом должно приходить понимание что "да, вот тот шаблон и структура здесь удачно подойдёт" И есть книжки которые рекомендуют как можно более везде писать "private или package private" потому что бездумное копирование концепций ООП налево и направо порождает очень сложные и неуловимые глюки в программах. А иногда и крайне запутанные и корявые архитектуры когда для реализации "Объект.СделатьВсёХорошо()" требует передачу объекту ссылок на огромное количество не связанных с ним напрямую модулей лишь потому что "Объект должен сам себя обрабатывать" |
|||||||
413
b_ru
20.07.16
✎
17:34
|
(411) Реальный опыт использования ООП - это гигантское количество программ, которое написано с помощью ООП. Ты сейчас читаешь это сообщение в браузере, написанном с помощью ООП, например.
Да, в учетных задачах эта технология уместна далеко не везде. Я, например, не призываю переписать типовые конфигурации с использованием ООП. Но наличие поддержки этого инструмента в платформе однозначно пригодится тем, кто умеет это самое ООП готовить. И я уверен, что людей, которые будут использовать ООП на 1С больше чем людей, которые используют эти самые БизнесПроцессы. Правда, на порядок больше тех, кто не умеет ни того, ни другого, потому реализация ООП в 1С мне не кажется первоочередной задачей. Но платформе уже не один десяток лет - пришло время для задач не первоочередных. |
|||||||
414
romix
20.07.16
✎
17:38
|
(407) Теоретически система могла бы сама выстроить деревце функций с параметрами и переменными, анализируя все ветви кода.
Хранить наподобие деревца в ветви Web-сервисы. Тогда бы не понадобилось там явно указывать. Также это помогло бы починить вот это: Как автоматически проверить параметры всех функций? |
|||||||
415
quest
20.07.16
✎
17:39
|
(408) респект.
Мое глубокое убеждение - единственное чего не хватает 1С - макросов как в лиспе и функций как объектов. Будет это - все остальное уже пишется. |
|||||||
416
Serginio1
20.07.16
✎
17:41
|
(404) На заметку!
|
|||||||
417
ZloyBrawler
20.07.16
✎
17:42
|
(411) Я думаю часть проблем можно закрыть введя НЕ обязательную типизацию переменных и параметров методов, потом помимо типа данных "Структура", дать возможность описывать что-то типа "СтруктураФиксированная" и вывести этот тип в состав метаданных, однако предвижу какой срач там будет в этой ветке конфигурации.
Вот тогда та можно будет передавать структуру с over 9000 полей, и потом радостно после нажатия кнопки "." видеть все что там из этой структуры можно вытащить или наоборот засунуть в нее. Ах да, как же я забыл, тогда и что-то с типом "ТаблицаЗначений" нужно делать, негоже чтобы число колонок было переменным, нужно тоже ввести еще один тип данных, с фиксированным числом колонок и с жестко заданным типом данных в этих самых колонках. Так можно и дальше маразматически фантазировать, вот только к чему это приведет? Сложность конфигураций возрастет однозначно. А как прекрасно IntelliSense будет работать! Вот же чудо правда? |
|||||||
418
Serginio1
20.07.16
✎
17:43
|
(414) Нужно просто пойти путем TypeScript
|
|||||||
419
vhl
20.07.16
✎
17:57
|
(413) У тебя есть опыт коммерческой разработки на ООП? Сколько лет?
|
|||||||
420
b_ru
20.07.16
✎
18:20
|
(419) 7 лет примерно.
|
|||||||
421
b_ru
20.07.16
✎
18:20
|
+420 тиражные продукты не писал, если тебя это волнует.
|
|||||||
422
romix
20.07.16
✎
18:27
|
(416) Идея не моя. После точки все начинает работать.
(418) Лениво же будет руками вот это писать: https://ru.wikipedia.org/wiki/TypeScript
Турбо Паскаль же. |
|||||||
423
Garykom
гуру
20.07.16
✎
18:35
|
(422) Выкинули begin...end с заменой на {...} так что не совсем турбо а уже дальше
|
|||||||
424
Garykom
гуру
20.07.16
✎
18:38
|
Кста ща наверно для кого то снова америку/африку открою, но кто мешает заниматься трансляцией из вашего лично любимого супер пупер языка в типовой язык 1С?
scala > java и наоборот http://javatoscala.com/ |
|||||||
425
Провинциальный 1сник
20.07.16
✎
19:25
|
(423) Помню учил в вузе алгоритмические языки на старой СМ-совместимой машинке, с 7-битным знакогенератором.. и там не было {} вообще. Их заменяли русские буквы Ш и Щ. Код выглядел весьма экзотично.
|
|||||||
426
b_ru
20.07.16
✎
19:43
|
(422) ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокументИмениНуралиеваБорисаГеоргиевича же пишут и ничего
|
|||||||
427
Serginio1
20.07.16
✎
19:49
|
(422) То, что не является объектами можно опускать.
Но если ты пишешь общие методу, то лучше указать тип параметра вместо описания. |
|||||||
428
akaBrr
20.07.16
✎
21:15
|
(424) проще поныть на мисте
|
|||||||
429
В тылу врага
21.07.16
✎
08:52
|
Ну и забыли кажется еще:
Чтото = 42; Что здесь? 1. Объявление и инициализация новой локальной переменной 2. Присваивание имеющейся локальной переменной 3. Присваивание переменной модуля 4. Присваивание реквизиту объекта 5. Присваивание переменной модуля приложения |
|||||||
430
jk3
21.07.16
✎
09:20
|
Еще забыл, в языке не хватает макросов, например, чтобы явно обозначать какой из параметров процедуры входной, а какой выходной, чтобы это потом отображалось в IntelliSense.
Процедура МояПроцедура(IN а1, IN а2, OUT а3, OUT а4) |
|||||||
431
В тылу врага
21.07.16
✎
09:23
|
(430) OUT - можно и не надо, а так есть же Знач - это считай IN, а без него это INOUT
|
|||||||
432
Serginio1
21.07.16
✎
09:49
|
(430) В 1С все параметры по умолчанию OUT.
Для In есть знач. |
|||||||
433
jk3
21.07.16
✎
10:29
|
(431) Знач -- не полезно, когда огромные таблицы значений передаются в процедуру, т.к. будет создана копия таблицы в памяти.
(432) Это понятно, что все параметры, если не указано Знач, передаются по ссылке. Это логическое разделение для удобства работы с незнакомыми процедурами. Своеобразная ontext-документация. Это только одно из применений макросов. Можно еще придумать куда их с пользой можно применять. |
|||||||
434
Serginio1
21.07.16
✎
10:53
|
(433) Для ссылочных типов ничего не копируется (кроме сериализации). Просто ты не можешь присвоить переменной переданному в параметру новое значение.
А вот, что касается серверных вызовов, то там предпочтительнее знач, если не нужно использовать возвращаемое значение. |
|||||||
435
Serginio1
21.07.16
✎
10:54
|
(кроме сериализации в серверных вызовах)
|
|||||||
436
Serginio1
21.07.16
✎
11:26
|
При перередаче ссылочных типов в параметре
1. По ссылке передается адрес переменной 2. По значению передается значение переменной в которой хранится адрес объекта |
|||||||
437
В тылу врага
21.07.16
✎
11:37
|
(433) передаются ссылки на объекты, а не копируются объекты, учи матчасть
|
|||||||
438
mistеr
21.07.16
✎
11:53
|
Не хватает пункта:
3. Нормальный язык, но не развивается, к сожалению. |
|||||||
439
orefkov
21.07.16
✎
12:16
|
(433)
Еще один не понимает, как работает Знач. Никакой копии ТЗ не будет создаваться. |
|||||||
440
jk3
21.07.16
✎
12:29
|
(439) Конечно, т.к. со ссылочными типами получается бред.
Вот такой код прекрасно прокатывает и добавляется строка в ТЗ.
По-хорошему, так быть не должно. Если передается параметр по значению, то вызывающей процедуре не должно поменяться содержимое переданного объекта. А т.к. передается ссылка, то ссылка действительно не меняется, а вот содержимое, которое находится по этой ссылке, прекрасно можно поменять. Может быть такое поведение и полезно в некоторых ситуациях, но об этом надо помнить. Да и вообще тема не об этом, а о возможностях языка, которые хотелось бы в него добавить. |
|||||||
441
b_ru
21.07.16
✎
12:32
|
(440) Это тайное ниндзютцу, только программисты знают чем const int * отличается от int * const
|
|||||||
442
impulse9
21.07.16
✎
12:48
|
Меня немного напрягает конструкции типа ЕстьNULL или &НаСервере, где надо лишний раз переключаться на английский язык (хотя & можно как Альт+38).
Еще мешает отсутствие регулярных выражений, для проверки, к примеру, валидности электронной почты, приходится строить безумные конструкции. А так хороший язык, и Конфигуратор в роли IDE тоже неплох. Нормальный язык, развивается. |
|||||||
443
В тылу врага
21.07.16
✎
13:01
|
(440) так во всех языках типа C#/Java/Delphi
|
|||||||
444
В тылу врага
21.07.16
✎
13:01
|
(442) рекомендую раскладку Чистова, сам юзаю
|
|||||||
445
PRADA
21.07.16
✎
13:09
|
Вполне.
Нормальный язык, развивается. |
|||||||
446
Serginio1
21.07.16
✎
14:55
|
Смысл с сылочными типами таков
Процедура ТестПередачиПоЗнач(Знач ТЗ) ТЗ= 5; КонецПроцедуры ТЗ= Новый ТаблицаЗначений; ТестПередачиПоЗнач(ТЗ) То Тз останется презжним. Без Знач Тз изменится на 5; |
|||||||
447
Masquerade
21.07.16
✎
23:50
|
1С хорош.
Во первых - он развивает память. Необходимо держать в голове все определения объектов, которые вы создаете в коде. Благо их типов немного, но, как говорится - бедненько, но чистенько. Во вторых - он развивает усидчивость. Сначала ты сидишь весь день, потому что надо написать тонну процедурного кода, потом ты сидишь неделю, потому что надо разобраться в тонне кода, который написал кто-то другой. В третих - он Надежен. Не надо дергаться, ибо ничего не изменится. Никто ничего нового не придумает - всё будет как всегда. Не надо ничего учить, знай цель жалом в главбуха - кто тебе что сделает? |
|||||||
448
Злопчинский
21.07.16
✎
23:58
|
(446) ойойой - тут надо осторожнее. на ИС есть боольшущая статья где рассматриваются всякие варианты, там есть особенности по Знач со ссылочными типами
|
|||||||
449
Злопчинский
22.07.16
✎
00:07
|
(442) "Еще мешает отсутствие регулярных выражений, для проверки, к примеру, валидности электронной почты, "
Покопайся на ИС, - народ в глубинах платформы раскопал regexp - и его можно заюзать! |
|||||||
450
Злопчинский
22.07.16
✎
00:09
|
Мне наш язык в целом нравится.
Самый писк когда, условно, овладеваешь не только французским языком, но и языком по-французски |
|||||||
451
В тылу врага
22.07.16
✎
10:55
|
(447) "В третих - он Надежен. Не надо дергаться, ибо ничего не изменится"
поведение предопределенных событий типа "ОбработкаЗаполнения" менялось |
|||||||
452
В тылу врага
22.07.16
✎
14:03
|
почему в стандарте SQL
select 5/2 from ... дает 2, а в запрос 1С дает 2.5 |
|||||||
453
Gunner
22.07.16
✎
14:09
|
Норм язык. Циклы есть, объектная модель есть. Многое можно на 1С написать, игры уже пишут))) Что ещё надо?
Нормальный язык, развивается. |
|||||||
454
orefkov
22.07.16
✎
14:22
|
(452)
Говорят, что Oracle тоже даст 2.5 А зато sqlite даже select 5.0/2.0 выдаст 2 :) |
|||||||
455
Кирпич
22.07.16
✎
14:34
|
(454) не может быть. мож какая то старая версия
|
|||||||
456
В тылу врага
22.07.16
✎
14:50
|
(454) говорят многое, а есть стандарт и многие к нему стремятся от версии к версии
|
|||||||
457
Кирпич
22.07.16
✎
14:54
|
(456) а 1С то каким боком к этому стандарту.
|
|||||||
458
В тылу врага
22.07.16
✎
14:55
|
(457) никаким, это печально
|
|||||||
459
Кирпич
22.07.16
✎
14:58
|
(458) что тут печального. правильно сделали, что 5/2=2.5
если бы сделали 2, то половина веток на мисте была бы с вопросом почему 1С выдает 2, а не 2.5 |
|||||||
460
В тылу врага
22.07.16
✎
15:00
|
(459) тут согласен
|
|||||||
461
Кирпич
22.07.16
✎
15:01
|
+(459) да и как 1С может следовать стандарту SQL, если в 1С нет SQL.
|
|||||||
462
orefkov
22.07.16
✎
15:16
|
(455)
Ты про oracle или sqlite? |
|||||||
463
Кирпич
22.07.16
✎
15:30
|
(462) про sqlite
|
|||||||
464
orefkov
22.07.16
✎
23:16
|
(463)
Нет, проверял буквально только что на свежем sqlite. Там всё дело в принятой в sqlite динамической типизации. Тип значения выясняется "на-лету", если не задан явно. При этом для числовых литералов подбирается наименее затратный тип. То есть если число может быть представлено целым без потери точности, оно считается целым. Так как 5.0 и 2.0 представляются целыми без потери точности, sqlite их считает как целые. А допустим 5.1 / 2.1 sqlite будет считать уже как double. Или cast(1.0 as real) / 2 - тоже будет считаться как double - тип задан явно. |
|||||||
465
orefkov
22.07.16
✎
23:18
|
+(464)
Вот "select (5.1 - 0.1)/2" sqlite посчитает как 2.5 |
|||||||
466
Jija Grenkov
23.07.16
✎
00:24
|
(461) Стандарта SQL там естественно и быть не может, но построение запросов - это чуть ли не единственное, что действительно пригодилось при разработке на дургих языках. Перевел ключевые слова на англ и вуаля. А запросы по сложности сравнимые с 1с-ными так и не пришлось писать. Даже когда-то провел эксперемент собрал 4-х колег которые утверждали, что знакомы с sql и предложил им написать срез последних. За минут 20 никто не осилил.
|
|||||||
467
kolts23381
23.07.16
✎
01:09
|
Язык нормальный свои задачи выполняет, но почти не развивается. А развивается только платформа. Да и рассматривать его отдельно от платформы нет смысла. Даже не вижу какой синтаксис можно добавить.
Хотел бы я посмотреть на умников с хабра которым бы пришлось выучить термины приходная накладная или номенклатура или акт сверки и др. на английском. Хотя они могут программировать на английском так как платформа позволяет, но чтоб быть до конца правильными, надо все имена метаданных перевести на английский, а то кириллица в исходниках - зло. |
|||||||
468
kolts23381
23.07.16
✎
01:33
|
(466)
В постгрескл, который прекрасно понимает кириллицу, можно так CREATE TEMP TABLE ЦеныНоменклатуры( Номенклатура integer, Цена numeric(15,2), Период timestamp without time zone); INSERT INTO ЦеныНоменклатуры (Номенклатура, Цена, Период) VALUES (1, 55.00, '2016-05-05 00:00:00'::timestamp without time zone), (2, 45.00, '2016-05-05 00:00:00'::timestamp without time zone), (3, 47.00, '2016-05-05 00:00:00'::timestamp without time zone), (1, 59.00, '2016-06-05 00:00:00'::timestamp without time zone), (2, 46.00, '2016-06-05 00:00:00'::timestamp without time zone), (3, 48.00, '2016-06-05 00:00:00'::timestamp without time zone); --С помощью оконной функции SELECT ПодЗапрос.Номенклатура,ПодЗапрос.Цена FROM (SELECT Номенклатура,Цена,Период, MAX(Период) over (PARTITION BY Номенклатура) AS МаксимальныйПериод FROM ЦеныНоменклатуры) ПодЗапрос WHERE ПодЗапрос.Период = ПодЗапрос.МаксимальныйПериод |
|||||||
469
Jija Grenkov
23.07.16
✎
01:40
|
(468) примерно так платформа и считает, то что - это напишут многие 1с-ники я верю.
|
|||||||
470
Лефмихалыч
23.07.16
✎
02:12
|
посмотреть на него с позиции современных языков - это как?
Очередной пионэр прочитал на википедии определение слов "полиморфизм", "инкапсуляция", "наследование" и принялся самоотверженно добывать кумыс из коня? |
|||||||
471
youalex
23.07.16
✎
02:58
|
Навеяло соседней темой.
За ЗаполнитьЗначенияСвойств(), за Структуру и Соответствие - однозначный респект. Поэтому, собсвтенно, Лично мне не хватает прямого доступа к БД, произвольных таблиц и, вообще, полного функционала СУБД. Понимаю, что это жертва в угоду универсальности, но хотя бы в виде эксперимента, хотя бы чисто под ms sql - отдельную версию, заточенную именно под нее... Нормальный язык, развивается. |
|||||||
472
oleg_km
23.07.16
✎
10:07
|
(464) Странно, только что проверил на DB Browser
select 5/2 = 2 select 5.0/2 = 2.5 |
|||||||
473
oleg_km
23.07.16
✎
10:08
|
+(472)
Версия 3.8.0 Версия Qt 5.5.1 Версия SQLite 3.9.2 |
|||||||
474
orefkov
23.07.16
✎
21:37
|
(473)
Хм, выходит пора обновлять мой dbviewer, в нём select sqlite_version(), 5.0/2.0, 5/2 3.8.10 2 2 В снегопате sqliteOpen(":memory:").exec("select sqlite_version(), 5.0/2.0, 5/2").ВыбратьСтроку() 3.13.0 2,5 2 Каюсь, пофиксили. |
|||||||
475
oleg_km
23.07.16
✎
22:49
|
(474) А ему просто нельзя свежую длл подсунуть?
|
|||||||
476
orefkov
24.07.16
✎
01:28
|
(475)
Да посмотрел, походу дело не в sqlite. Я использую для просмотра баз SqliteStudio, подсунул ему свежайший sqlite - 3.13.0 - всё равно выдает 5.0/2 = 2. Видимо в SqliteStudio косяк. Когда запрос делаю через мою компоненту - всё нормально. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |