Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

1С - как язык ООП

92
18 декабря 2007 года
Тень Пса
2.2K / / 19.10.2006
нафик.... нафик такое извращение =) более извращенного чем язык 1С я вообще не видел =))))) - всё по-русски.. просто пц ))

Код:
[SIZE=3][SIZE=2][COLOR=#009966]// Глобальный модуль
// =================
//Раздел Переменных
//————————-
Перем кнДаНет Экспорт;
Var отвДа Export;
Перем отвНет Export;

//Раздел процедур и функций
//————————————-
Процедура ПриНачалеРаботыСистемы()
// Проверка рабочего времени
// Если СтатусВозврата=0, то приложение автоматически закроется
  Перем Чс,Мн,Ск;
  ТекущееВремя(Чс,Мн,Ск);
  Время=Чс+Мн/60+Ск/3600;
  Если (Время>14) и (Время<15) тогда
    Ответ=Вопрос("Сейчас не рабочее время!
      |Будете работать?",кнДаНет);
    СтатусВозврата(?(Ответ=отвНет,0,1));
  EndIf;
КонецПроцедуры

//Раздел основной программы
//————————————-
Сообщить("Текущее время:"+CurrentTime());
//Инициализация переменных модуля
кнДаНет=4;  //"Да+Нет"
отвДа=6;  //"Да"
отвНет=7;    //"Нет"[/COLOR][/SIZE][/SIZE]
11
18 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
тот же самый Паскаль, тока по русски
к стати 1C понимает и по английски, т.е. двуязычная эта бодяга.
Ребята просто взяли и перевели на русский язык (жаль что не на олбанский)
И к стати, им большой плюс, что в таком виде это достаточно быстро все работает (не компилясь в исполняемый модуль)
92
18 декабря 2007 года
Тень Пса
2.2K / / 19.10.2006
вот именно - бодяга =)
11
18 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Тень Пса
вот именно - бодяга =)



Много знакомых 1эСников, и ни у кого нареканий на сам язык не было.
Все работает как часы, чего нельзя сказать о СУБД, хотя тут все от рук кодера зависит, а 1С кодеров криволапых держит

314
18 декабря 2007 года
fanto
374 / / 15.02.2003
Есть вполне рациональное объяснение, почему 1Сники молчат по поводу этой "бодяги"...
Это их хлеб....
И чем меньше людей захотят в ЭТО вникать, тем меньше у них конкуренция и больше зарплаты....
А зарплаты у них действительно на высоте....
11
18 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: fanto
Есть вполне рациональное объяснение, почему 1Сники молчат по поводу этой "бодяги"...
Это их хлеб....
И чем меньше людей захотят в ЭТО вникать, тем меньше у них конкуренция и больше зарплаты....
А зарплаты у них действительно на высоте....



В 1С действительно хороший встроенный язык, в отличии от всего остального.
А вся беда самой 1С как программного продукта в том что они хотят быть сравни Windows, т.е. успеть за желаниями абсолютно всех пользователей, поэтому конфигурации у них косячные получаются.
ЗЫ в ЭТО вникнуть можно за один месяц максимум, если имел дело когда нибудь с программированием, другой вопрос что те кто берет на работу программера 1С не хотят вникать, поэтому и платят хорошие зарплаты...

251
18 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: oxotnik333
тот же самый Паскаль, тока по русски
к стати 1C понимает и по английски, т.е. двуязычная эта бодяга.
Ребята просто взяли и перевели на русский язык (жаль что не на олбанский)
И к стати, им большой плюс, что в таком виде это достаточно быстро все работает (не компилясь в исполняемый модуль)


Ога, все равно, что бейсик промтом перевели (с) :D
А реально -1С вполне мощный язык, начиная с 8-го, так как 7-й не в курсе, что такое события.

11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: SkyM@n
А реально -1С вполне мощный язык, начиная с 8-го, так как 7-й не в курсе, что такое события.




Даже рекурсию поддерживает
И что удобно, так это то что в переменную можно любой тип данных запихнуть, правда разные типы потом не сравнишь, а так весьма просто писать

3
19 декабря 2007 года
Green
4.8K / / 20.01.2000
А почему 1С не использует какой-нибудь общепринятый язык? Например, python.
Исключительно из коммерческих соображений (ну чтоб книжечки и курсы по своему языку организовывать) ?
11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Green
А почему 1С не использует какой-нибудь общепринятый язык? Например, python.
Исключительно из коммерческих соображений (ну чтоб книжечки и курсы по своему языку организовывать) ?



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

[quote=1C Help]
Используемые термы:
#Если (#If)
#Тогда (#Then)
#ИначеЕсли (#ElsIf)
#Иначе (#Else)
#КонецЕсли (#EndIf)
Клиент (Client)
Сервер (Server)
ВнешнееСоединение (ExternalConnection)
И (AND)
ИЛИ (OR)
НЕ (NOT)
[/quote]

3
19 декабря 2007 года
Green
4.8K / / 20.01.2000
Цитата: oxotnik333
почему не использует?
это ж паскаль... пожалуйста, пиши все операторы и команды в английском варианте


При чем тут английский вариант?
Я говорю про конкретные существующие языки программирования и, видимо, их существующие интерпретаторы.

Если это Pascal, то в 1C я могу написать следущее

Код:
program TriangleArea1 (output);
   var
      b: integer; {base}
      h: integer; {height}
      A: real; {Area}
   begin
      {-----Assign values to variables-----}
      b := 10;
      h := 7;
      {-----Calculation-----}
      A := b * h / 2;
      {-----Print the result-----}
      write('The area of a triangle with a base of ');
      write(b:0);
      writeln(' units and');
      write('a height of ');
      write(h:0);
      write(' units is ');
      write(A:0:1);
      writeln(' square units.')
   end.

и это будет работать?
256
19 декабря 2007 года
foxweb
1.0K / / 27.07.2005
Может быть вы бы создали отдельный топик "1С против Pascal"? :)
11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Green
При чем тут английский вариант?
Я говорю про конкретные существующие языки программирования и, видимо, их существующие интерпретаторы.

Если это Pascal, то в 1C я могу написать следущее
Код:
program TriangleArea1 (output);
   var
      b: integer; {base}
      h: integer; {height}
      A: real; {Area}
   begin
      {-----Assign values to variables-----}
      b := 10;
      h := 7;
      {-----Calculation-----}
      A := b * h / 2;
      {-----Print the result-----}
      write('The area of a triangle with a base of ');
      write(b:0);
      writeln(' units and');
      write('a height of ');
      write(h:0);
      write(' units is ');
      write(A:0:1);
      writeln(' square units.')
   end.

и это будет работать?



с незначтельными изменениями (я в паскале не силен, в часности write/writeln, но думаю что это аналогично Message)
А вообще о разном говорим, язык 1С это язык т.н. бизнес-программирования, где взят за основу паскаль (хотя может быть Basic), и заточен под решение конкретных задач для обслуживания СУБД, точно так же как в SAP-e (ABAP 4), только там взят за онову Кобол и прикручено к нему, все что необходимо.

3
19 декабря 2007 года
Green
4.8K / / 20.01.2000
Цитата: oxotnik333

А вообще о разном говорим, язык 1С это язык т.н. бизнес-программирования, где взят за основу паскаль (хотя может быть Basic), и заточен под решение конкретных задач для обслуживания СУБД, точно так же как в SAP-e (ABAP 4), только там взят за онову Кобол и прикручено к нему, все что необходимо.


Тогда я повторю свой вопрос:
почему 1С не использует какой-нибудь общепринятый язык? Например, python. Исключительно из коммерческих соображений?

Не "взятый за основу", а реально существующий язык программирования. Можно даже взять готовый интерпретатор этого языка. Добавить библиотеку классов "под решение конкретных задач для обслуживания СУБД". При необходимости добавить IDE и какой-нибудь кодогенератор.

Зачем придумывать свой язык, если есть уже готовые?

Я вижу только один ответ: чтоб выкачать денег и за него тоже. Другими словами, чтоб сузить круг специалистов. Но я могу ошибаться. Может есть какие-то объективные причины?

11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Green

Я вижу только один ответ: чтоб выкачать денег и за него тоже. Другими словами, чтоб сузить круг специалистов. Но я могу ошибаться. Может есть какие-то объективные причины?



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

ЗЫ: а вопрос "зачем он нужен" сродни вопросу "зачем нужен T-SQL, ведь можно было расширить, допустим Basic, SQL-ем и не надо придумывать новый язык".

3
19 декабря 2007 года
Green
4.8K / / 20.01.2000
Цитата: oxotnik333
конкретно, разработчикам языка 1С от того что они "придумали" свой язык я думаю что никопейки не капает за его использование, равно как и учредителям 1С, а о простых программистах (точнее об их кошельках), которые на нем пишут они вряд ли думали намомент разработки, т.о. коммерческой выгоды явно никакой нет.


Здесь ты ошибаешься. Так или иначе разработчик системы получает коммерческую выгоду за обучение специалиста использованию этой системы.

Цитата: oxotnik333

Причину вижу в простоте использования этого языка


Субъективно. Кроме того, простота языка не означает простоту его использования при реализации практических задач.

Цитата: oxotnik333

ЗЫ: а вопрос "зачем он нужен" сродни вопросу "зачем нужен T-SQL, ведь можно было расширить, допустим Basic, SQL-ем и не надо придумывать новый язык".


Зачем нужно выдумывать ущербный трехколесный велосипед - логичный вопрос.

Я пообщался с программистом, в прошлом имевшим дело с 1С. Вот к каким выводам мы пришли:
1) исторический - просто так сложилось в веках;
2) производная от исторической - наработана большая кодо-база, портировать которую крайне сложно, в т.ч. в виду отсутствия тестов;
3) коммерческий 1 - проблемы с лицензиями и т.п. сторонних разработчиков,
4) коммерческий 2 - использование стороннего языка приведет к затратам на реорганизацию системы, которые оправдываются лишь при долгосрочной перспективе и в условиях конкуренции, а т.к. 1С монополист, то "сидит на попе ровно";
5) коммерчески 3 - как уже и говорил, дополнительная выгода от сужения круга специалистов;
6) сервисный - поддерживать свой язык несколько проще (с т.з. оперативности), чем использовать сторонний.

92
19 декабря 2007 года
Тень Пса
2.2K / / 19.10.2006
Green, дааааа, "велосипед" и в самом деле ущербный... (исключительно IMHO!)
и опять же "да" на твой вопрос, в коммерческих целях (тож пообщался с 1С программистом)... ну да ты уже ответил :)
11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
п. 3, 4, 6 это не коммерческие а финансовые вопросы.

[quote=Green]5) коммерчески 3 - как уже и говорил, дополнительная выгода от сужения круга специалистов;[/quote]
не согласен :
1. В настоящее время программистов 1С хоть кушай одним местом.
2. При желании освоить язык (если человек когда нибудь что нибудь программировал) дело 2-х месяцев, до нормального уровня
3. Вообще какая выгода от сужения круга специалистов? если их не будет, или будет мало, тогда системой просто пользоваться ни кто не будет, т.к. не в состоянии будут ее поддерживать.

ЗЫ: вобще многие ERP системы работают со своим языком.
255
19 декабря 2007 года
Dart Bobr
1.4K / / 09.04.2004
Имхо, им было бы лучше в 1С встроить не свой корявый язык и не питон, а скажем тот же VB или C# и чтоб была поддержка .NET
3
19 декабря 2007 года
Green
4.8K / / 20.01.2000
Цитата: Dart Bobr
Имхо, им было бы лучше в 1С встроить не свой корявый язык и не питон, а скажем тот же VB или C# и чтоб была поддержка .NET


А для чего здесь поддержка .NET ?

Ну раз пошла такая тема, то можно просто предоставить COM-интерфейсы компонентам 1С и писать на любом языке. :)

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

11
19 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Green

Ну раз пошла такая тема, то можно просто предоставить COM-интерфейсы компонентам 1С и писать на любом языке. :)



1С предоставляет свои COM-интерфейсы (во всяком случае из одной базы 1С с помощью СОМ можно подключиться к другой базе) , другое дело, что они все равно коряво с БД работают... может к следующей (9-й) версии поправят

251
20 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Гы, кстати уже вторая неделя пошла, как на фирме программисты 1С хотят связать свою 1С7,7 с ВЕБ-сервисом по SOAP-протоколу, что у них не получится без использования сторонних компонент. Dart Bobr прав на 100%. И дотнет нужен - для того же СОАПА. И СОМ тоже есть, но он дырявый до бесконечности, но подключить сторонний компонент можно только через него, например CreateObject("MSXML.XMLHTTP"), что очень зря. На нем можно писать как используя русские (что считаю уродством - ИМХО!), так и английские символы.
Так же имеется мнение (и я частично согласен с ним), что на русском лучше понять данную бизнес-логику, но тогда получается, что он - для тех, кому лень учить английский. На счет зачем придумывать свой - так важный фактор - это специфика применения. Ведь можно спросить так же: а зачем придумали Перл если есть Си /Алгол/Лисп/ВБ...(это к примеру, я их не приравниваю). Хм, также разработчики языка 1С гемору себе прибавили, ведь сейчас многие программеры 1С-ки спихивают все неудачи на техподдержку.

Кстати, что-то уж очень отошли от темы. Может давайте не тут пофлеймим, если еще есть о чем?
11
20 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: SkyM@n

Кстати, что-то уж очень отошли от темы. Может давайте не тут пофлеймим, если еще есть о чем?



Высказываем таким образом оригинальную благодарность разработчикам 1С :D

256
20 декабря 2007 года
foxweb
1.0K / / 27.07.2005
Я фигею с вас, господа одинэсники :)
92
20 декабря 2007 года
Тень Пса
2.2K / / 19.10.2006
я не 1сник ))) я тока пару раз сталкивался - больше не хочу ))
255
20 декабря 2007 года
Dart Bobr
1.4K / / 09.04.2004
Цитата: Green
А для чего здесь поддержка .NET ?

Ну раз пошла такая тема, то можно просто предоставить COM-интерфейсы компонентам 1С и писать на любом языке. :)

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



Ну а как ты думаешь, зачем поддержка .NET может вообще понадобиться программе?? Ну скажем, написал Вася Пупкин плагин к 1С на VB (ну например, он хочет сделать, чтоб у него во время работы в левом верхнем углу открывалось окошечко и стриптизерша танцевала) и спокойно его интегрировал.. Дело не в том, что это нельзя обойти стандартными средствами, дело в том, что это было бы намного удобней и менее геморройней делать при помощи .NET.

534
20 декабря 2007 года
HarryAxe
448 / / 19.01.2006
Цитата: Dart Bobr
Ну а как ты думаешь, зачем поддержка .NET может вообще понадобиться программе?? Ну скажем, написал Вася Пупкин плагин к 1С на VB (ну например, он хочет сделать, чтоб у него во время работы в левом верхнем углу открывалось окошечко и стриптизерша танцевала) и спокойно его интегрировал.. Дело не в том, что это нельзя обойти стандартными средствами, дело в том, что это было бы намного удобней и менее геморройней делать при помощи .NET.


Там даже и не плагин можно сбацать. Например, в MS SQL Server на .NET можно писать даже хранимые процедуры и сохранять их набор прямо на сервере в отдельной сборке. Иное дело, что разработчики 1С, скорее всего, будут долго собираться с силами, чтобы схостить .NET в своей СУБД...

11
20 декабря 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: HarryAxe
Там даже и не плагин можно сбацать. Например, в MS SQL Server на .NET можно писать даже хранимые процедуры и сохранять их набор прямо на сервере в отдельной сборке. Иное дело, что разработчики 1С, скорее всего, будут долго собираться с силами, чтобы схостить .NET в своей СУБД...



им дай Бог бы нормально привязать все к самой СУБД MS SQL Server, а то заявлена как серверная, а на самом деле на сервере только хранит данные, а когда надо что то достать, гоняет всю базу по сети.

251
20 декабря 2007 года
SkyMаn
1.7K / / 31.07.2007
Цитата: oxotnik333
им дай Бог бы нормально привязать все к самой СУБД MS SQL Server, а то заявлена как серверная, а на самом деле на сервере только хранит данные, а когда надо что то достать, гоняет всю базу по сети.


Это точно! 8-главый процессор недавно прикупили, так вот сегодня SQLный сервис при работе с 1Ской повесил его в два счета. Ну не бред? Такое чувство, что 1Ска не с MSSQL работает, а с текстовыми файлами. :(

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог