Имя: Пароль:
1C
 
1С это СУБД или нет?
0 Волшебник
 
18.09.04
14:05
Пришло письмо:

СК> Ответьте пожлауйста 1с это СУБД или нет? Мой препод сказал
СК> что это не СУБД, если можно ответьте более подробно.......я
СК> новичок и мне важно знать тонкости... Многие считают почти все что
СК> 1С это СУБД, мне важно ваше мнение....

Отвечаю публично:

"1С" - это фирма.
"1С:Предприятие" - это система программ, платформа автоматизации (подробнее см. ниже).

В файловом варианте можно сказать, что 1С:Предприятие 7.7 и 8.0 - это
специализированные СУБД. Но если интересуют тонкости, то нужно
знать, что 7.7 использует движок Codebase для работы с DBF-файлами, а
в версии 8.0 в файловом варианте все данные (почти) хранятся в файле 1cd, формат которого неизвестен и используется свой собственный движок БД (engine).

В клиент-серверном варианте для 7.7 и 8.0 системой управления БД
является Microsoft SQL Server, а 1С:Предприятие является лишь
"системой автоматизации". Если опять же нужны тонкости, то скажу, что
7.7 использует SQL Server не очень эффективно, не как СУБД, а как
хранилище файлов-таблиц. В 8.0 возможности SQL Server используются
более полно и есть еще промежуточное звено - сервер "1С:Предприятия
8.0", который берет на себя часть работы по выполнению запросов
(кеширование, оптимизация) и может выполнять программный код на
стороне сервера

Почему я сразу сказал, что 1С:Предприятие - это система программ? Потому что платформа 1С:Предприятие немыслима без конфигураций. Для применения 1С:Предприятия по назначению (а не для забивания гвоздей) нужно использовать конфигурацию (купить готовую, заказать разработку/доработку или сделать самому). Конфигурации - это тоже программы, которые рассчитаны на выполнение в определенной среде - другой программе - платформе 1С:Предприятие. Так что "1С:Предприятие" в целом - это именно система программ.

Еще 1С называют "средой разработки". Это тоже не совсем правильно. Средой разработки конфигураций для платформы 1С:Предприятие 8.0 является Конфигуратор. Причем он служит не только для разработки, но также для администрирования систем (управление списком пользователей, наблюдение подключенных пользователей, просмотр журнала регистрации, тестирование и исправление информационной базы).

Еще один распространенный термин - 1С - это язык программирование. Это не так. Правильнее так: в платформе 1С:Предприятия есть ВСТРОЕННЫЙ ЯЗЫК, позволяющий программировать бизнес-логику и обрабатывать события. Его нельзя назвать полноценным языком программирования, как C++ или ObjectPascal (Delphi), ему больше подходит определение "скриптовый язык", как VBA или PHP.

Это конечно мое личное мнение, подкрепленное моим опытом.
Если у вас коррективы или добавки - прошу высказаться.
1 Aнтон NEW edit
 
18.09.04
17:53
Всё ниправильно!
1С:Предприятие - это сложная программа для бугалтеров и блондинок, куда последние настукивают пальчиками данные и где эти данные успешно: теряются, преобразуются в другие ненужные данные, удаляются и затем ищутся...
2 Фокусник
 
18.09.04
18:08
Да... Антон уже не тот. Не чувствуется искренность :)
3 Волшебник
 
18.09.04
18:35
(2) А мне понравилось! :)
4 NS
 
18.09.04
18:38
(3) Поподробней по поводу:
"Его нельзя назвать полноценным языком программирования, как C++ или ObjectPascal (Delphi), ему больше подходит определение "скриптовый язык", как VBA или PHP."
Так еще и VBA стал скриптовым языком?
Что в 1С и VBA  есть такое, что они перестают быть полноценными языками?
5 Волшебник
 
18.09.04
19:04
(4) Они оба выполняются в СРЕДЕ, которой не является ОС. Они оба встроенные языки. Причем, VBA не одно и то же, что VB
6 NS
 
18.09.04
19:09
(5) Я знаю, что такое VBA.
какая разница в какой среде выполняются?
Если я среду 1С:Предприятия буду считать ОС - тогда сразу языки станут полноценными? А интерпритаторы - то-же все автоматом становяться скриптовыми ЯЗЫКАМИ? А мне казалось - что интрпретатор - это не язык, а его реализация... Какая связь между ЯЗЫКОМ и конкретной его реализацией? Если кто-то напишет компилятор 1С, который будет создавать exe-шник - то ЯЗЫК перестанет быть скриптовым? Я думаю, что сам ЯЗЫК от этого не измениться.
7 Demiurg
 
18.09.04
19:12
(6) ты прав и не прав, потому что путаешь некоторые понятия, или в кладываешь в них свой, не совсем общепринятый смысл
8 Demiurg
 
18.09.04
19:14
(6) на подумать: vb.net - это какой язык? или скрипт?
9 Волшебник
 
18.09.04
19:16
(6) У нас просто небольшая путаница понятий. Ты под языком имеешь в виду нечто нематериальное - синтаксис, правила объявления переменных и написания операторов. Но в сообщении (0) в понятие "язык" я вкладывал и такие объекты, как "Справочник" и "Регистр", т.е. то, что в "обычных" языках берется из библиотек.

Можно сделать компилятор и запускать программу на Sony PlayStation, но это использование средства не по его прямому назначению.
10 NS
 
18.09.04
19:19
vb.net - это язык.
11 Demiurg
 
18.09.04
19:28
(10) он на виртуальной машине, и вообще, задуман как замена java, тебя это не смущает, а на виндоус осях без фреймворка работать не будет :)))
12 Волшебник
 
18.09.04
19:30
(10) Это язык, опирающийся на всю концепцию .Net, включая CLR и тысячи библиотек. В связи с тем, что все эти технологии встроены (встраиваются) в ОС, то его встроенность растворяется. В связи с тем, что программы, написанные для .Net, выполняются под управлением среды, то их все можно считать "встроенными". Разница между "встроенным" языком и "полноценным" все меньше и меньше.
13 NS
 
18.09.04
19:33
(11) Меня - нет.
14 Волшебник
 
18.09.04
19:36
(12) Можно сказать, что "встроенный" и "полноценный" - это оценочные суждения. Любой язык является куда-то встроенным (в более внешнюю среду), но для своей среды он является "полноценным". Иногда люди проводят границу по возможностям - например, на VB не напишешь Doom3, или на встроенном языке 1С не напишешь ОС, но это нечестно. Это забивание гвоздей микроскопом, т.е. использование средства не по назначению. Например, сделать мало-мальски нормальную систему для предприятия на С можно, но придется сильно попотеть. Для ускорения процесса (вернее для его завершения в обозримом будущем) придется как минимум использовать какую-то СУБД и SQL.

Язык SQL тоже встроенный. Программы на нем не напишешь, он для запросов. Но тексты запросов понимает только СУБД (среда).
15 Demiurg
 
18.09.04
19:37
(13) по мне, если за программирование платят бабки, и причем хорошие бабки, это еще какой язык :)))
17 Mnemonik
 
17.11.04
10:28
Спор о программах интерпритируемых и компилируемых сводится всегда к одному - одни кричат "Если не компилируется и не использует библиотек - значит скрипт" Ошибка №1 - интерпритируемые программы используют библиотеки и очень даже неплохо.
Ошибка №2 - интерпритируемые программы в некоторых случаях их можно скомпелировать (пример PERL).
Про язык 1С - Не проще ли говорить что в 1С встроен специально разработанный - объектно ориентированный язык написания сценариев? но покажите мне еще один язык сценариев в котором можно так работать с формами как в 1С (я про v8)...
ИМХО: Споры такого рода бесконечны...
18 Волшебник
 
17.11.04
10:31
(17) в 1С 7.7 и 8.0 перед выполнением модуль компилируется.
Со словами "объектно-ориентированный" я был бы осторожен. Под этими простыми словами уже имеется в виду вполне конкретные требования (см. Буч). Я бы сказал осторожнее: "с элементами объектно-ориентированной технологии".
19 Mnemonik
 
17.11.04
10:34
В РНР и PERL перед выполнением модули тоже компелируются интерпритаторами, но они по прежнему остаются языками сценариев сервера!
Пускай будет "с элементами объектно-ориентированной технологии" - суть - таже!
20 Волшебник
 
17.11.04
10:34
(19) А кто спорит-то?
21 SnarkHunter
 
17.11.04
11:06
(17)Я лублю компеляторы и интепритаторы...
22 427
 
17.11.04
12:09
Это ДОБДД