Имя: Пароль:
1C
 
УжасБухгалтера (Йоксель) пилит новый проект
0 Злопчинский
 
18.05.15
11:42
http://yoksel.net.ru/haxe1s
.
Haxe1s – это проект, который делает возможным при разработке под 1С:Предприятие 8.х и 7.7 использование следующих возможностей:

Объектно-ориентированное программирование (ООП): инкапсуляция кода в классы, использование наследования, полиморфное поведение, создание интерфейсов и т.д.

Функциональное программирование (ФП): функции как объекты первого класса, функции высшего порядка, анонимные функции, замыкания, частичное применение функций, алгебраические типы данных, сопоставление с образцом (pattern-matching) и т.д.

Метапрограммирование (МП): исполнение кода в процессе компиляции программы и генерация кода программы по заданному алгоритму при помощи макросов.

Строгая типизация – контроль типов данных при компиляции программы. При этом типы могут задаваться явным образом или выводиться автоматически. Однако динамическая типизация, единственно доступная в 1С, так же может быть использована.

Синтаксические конструкции, отсутствующие в 1С. Циклы do-while, switch-конструкции, анонимные объекты, throw-catch с типизацией по выброшенному исключению, boolean тип для 1С 7.7 и т.д.

Многое другое.

Полученный при разработке код для своей работы не требует никаких компонентов, «внешних компонент», дополнительных модулей или программ. Код может быть передан конечному пользователю и будет работать с использованием только штатных возможностей 1С.
1 Злопчинский
 
18.05.15
11:42
С учетом качества изготовления Йокселя - есть большой шанс, что получится что-то рабочее
2 Андрей_Андреич
 
naïve
18.05.15
11:48
Удачи автору ! (Ужасти)
3 Naumov
 
18.05.15
11:57
(1) Один вопрос: нафига?
4 Aleksey
 
18.05.15
11:59
(3) Некоторым для счастье ООП не хватает. Считают что это что то изменит
5 ДенисЧ
 
18.05.15
11:59
(3) Сделано для себя (с)
Ну хочет человек на более другом языке 1сить...
6 Serginio1
 
18.05.15
12:02
Прикольно типа TypeScript
Какая IDE поддерживает?
7 ОбычныйЧеловек
 
18.05.15
12:05
(0) ну наконец-то, удачи автору.
(1) уверен на 100% тебе оно не надо
(4) тем кто акромя печатных форм ничего не делает - для полного счастья хватает того, что есть.
8 Stim
 
18.05.15
12:07
изобрели свой велосипед, с пятью колесами, прикрутили к 1С.

чего только не сделают "тру-прогеры", лишь бы не учить язык 1С и писать на английском языке
9 Гёдза
 
18.05.15
12:07
Только причем здесь 1С будет?
10 Зеленый пень
 
18.05.15
12:07
Ему бы написать свою платформу - "убийцу 1С" + торговая конфигурация и найти партнеров для продвижения. Вот это была бы тема!
11 Serginio1
 
18.05.15
12:09
(9) Замена ВК,СОМ
12 Serginio1
 
18.05.15
12:10
import v8.platform.Constants;
import v8.platform.Enums;
import v8.platform.Query;
import v8.platform.SpreadsheetDocument;
import v8.platform.Structure;
import v8.platform.TabularSection;

class PartnerFile
{
    public static function main () { }
    
    @:keep public static function makeReport (tab : Dynamic, template : Dynamic,
        parameters : Structure)
    {
        var printers = createPrinters (parameters);
        var data = executeQuery (printers, parameters);
        
        printers.iter (
            function (p) { p.print (tab, template, data); }
        );
    } // makeReport
13 Stim
 
18.05.15
12:10
(10) 1С не надо убивать, она сама прекрасно с этим справляется, выдавая косячные монструозные решения.


То, что нужно - по-настоящему модульную схему поставки. Поставку для УТ, из которой можно поставить, например, только Склад - приход-расход. и ничего более. и все это будет простым и быстрым решением.
14 Serginio1
 
18.05.15
12:11
12+ и вызов

Для каждого Партнер Из Партнеры Цикл
        
        ПараметрыОтчета.Вставить ("Партнер", Партнер.Значение);
        ОбъектОтчет.PartnerFile_makeReport (ТаблицаОтчета, Макет, ПараметрыОтчета);
        
    КонецЦикла;
15 Kyon8
 
18.05.15
12:13
Проблема будет обратно декомпилить 1С -> haxe для доработок. Не взлетит.
16 Aleksey
 
18.05.15
12:13
(14) Уже 100 лет как нигде не нужно чистые Партнер.Значение
Везде идет постобработка и значение обрастает "мясом"
17 Aleksey
 
18.05.15
12:17
К тому же вот хоть убей не могу понять чем это будет отличаться от текущей реализации БСП с её кучей модулей в глобальнике с суффиксами клиент, сервер, предопределяемые...
18 Aleksey
 
18.05.15
12:18
Или если спрятать все эти модули в ВК, то типа что то поменяется?
19 trdm
 
18.05.15
12:18
(13) "Если вы такие умные, то почему строем не ходите".
В 1С мне часто чего-то не хватает.
20 Serginio1
 
18.05.15
12:22
(17) В 1С нет перекрытия (override)
переменных типа  Функция, замыканий, Нет вывода типа для intellisense итд
21 Aleksey
 
18.05.15
12:29
(20) Что такое "override" и чем оно отличается от "...Переопределяемый"?
22 Diversus
 
18.05.15
12:35
(21) Это переопределение вызова на уровне потомка в ООП (суть такая).

Т.е. есть, например, общий класс:
Документ с методом ПолучитьНомер()

Для дочерних классов документов:
Документ.ПриходныйОрдер если метод ПолучитьНомер() переопределить (override), то он будет вызываться для получения номера. Если же его не переопределять, то будет вызываться тот, который у родителя.
23 Serginio1
 
18.05.15
12:36
(21) Я отстал от жизни? Что такое "переопределяемый"?
В ООП для того, что бы изменить некоторые функции класса ты создаешь наследника и изменяешь виртуальные функции.
При этом остальная часть функционала класса наследуется?
24 Neg
 
18.05.15
12:37
(0) а картинок нет?
25 Serginio1
 
18.05.15
12:38
26 Aleksey
 
18.05.15
12:46
(23) Это модули БСП, в которых разработчик прикладного решения (в которое внедрено БСП) может переопределить поведение некоторых подсистем БСП.
27 Serginio1
 
18.05.15
12:49
(26) А можно пример. Видно отстал от жизни.
28 Гёдза
 
18.05.15
12:53
(26) Это не ООП. Это событийная модель
29 Aleksey
 
18.05.15
12:55
(28) Так понять не могу, теже яйца только в профиль.
30 Serginio1
 
18.05.15
12:55
(27) Или ты имеешь ввиду, что в есть глобальные процедуры, а в них передаются Объекты у которых есть одинаковые методы на названию и сигнатуре? Ну с какого же они переопределяемые? Это утиная типизация.
https://ru.wikipedia.org/wiki/Утиная_типизация
31 Serginio1
 
18.05.15
12:56
(29) Еще раз почитай внимательно 23 и 25.
32 ГеннадийУО
 
18.05.15
12:58
Интересно, с помощью этого можно будет генерировать код 1С например на основании UML-модели конечного автомата?
33 Garykom
 
гуру
18.05.15
12:58
haxe это нечто вроде транслятора в другие языки, т.е. по сути пишем на неком c#-java (под названием haxe) а на выходу будет код 1С... причем хоть 7.7 хоть 8.4 ))
34 Garykom
 
гуру
18.05.15
12:59
(32) нет но можно из кода на haxe сгенерировать эти ваши умл модели ка

т.е. он обратную задачу исполняет
35 asady
 
18.05.15
13:00
(33) вот если бы был обратный механизм - типа взял код 8.3 транслировал его в haxe а с него в c++ - вот это круто
36 Serginio1
 
18.05.15
13:03
(29) Например у тебя некая процедура использует 100 методов модуля. У меня есть такой модуль, но мне хочется поменять функциональность некоторых методов. Что бы не городить гору Если тогда, или копировать методы из одного модуля в другой, я могу эти переопределить только нужные мне методы в наследнике.
37 ГеннадийУО
 
18.05.15
13:03
(34) Ну это не интересная задача, UML - диаграмму рисует не программист, поэтому и нужен генератор кода...
38 Гёдза
 
18.05.15
13:08
(36) А везде идет вызов  процедур из старых модулей. Тоже везде нужно переопределить?
39 Garykom
 
гуру
18.05.15
13:10
(37) насчет этих ваших uml диаграм... вы случаем реальную жизнь с https://ru.wikipedia.org/wiki/ДРАКОН не перепутали?
40 ГеннадийУО
 
18.05.15
13:14
(39) А вот например статейка http://rsdn.ru/article/patterns/Protocols.xml, утверждают, что для C++ сделали...
41 Garykom
 
гуру
18.05.15
13:28
(40) как бы ТЗ это тоже программа... только с хреновой детализацией и непонятная компу, нужен транслятор в виде программиста
42 quest
 
18.05.15
13:32
долго пытался понять, но так и не понял зачем? Почему именно этот язык? чем он лучше/хуже друших языков?
43 Garykom
 
гуру
18.05.15
13:42
(42) клева писать игрушки для мобилок/планшетов... один раз пишешь потом под iPhone/Android и т.д. компилишь...
44 ГеннадийУО
 
18.05.15
13:46
(41) Ну UML - диаграмма - это по сути детализированное ТЗ, где указано, какие данные нужны на входе, что получится на выходе, без уточнения как эти данные получаются. Т.е. по сути программисту остается только прописать алгоритмы получения нужных данных...
45 ksupalo
 
18.05.15
13:48
(19) скоро появится магазин а-ля "Play Market", в котором можно будет покупать отдельные компоненты, например регл учет, бюджетирование, казначейство и пр. - и всё это от 1С или от других поставщиков. Покупать так же, как Вы покупаете программки на телефон.

Тема идет уже давно, пока не реализовано, вопросов много...
46 trdm
 
18.05.15
13:50
(45) угу. Инфостарт называется.
47 Garykom
 
гуру
18.05.15
13:52
(46) точно...осталось только туда проверку с выкидыванием нерабочего сделать...
48 Garykom
 
гуру
18.05.15
13:54
(44) Вы программист?

После фразы
"по сути программисту остается только прописать алгоритмы получения нужных данных"
не уверен...
49 ГеннадийУО
 
18.05.15
13:57
(48) Не понял сути претензий, ну да ладно, на нет и суда нет...
50 Garykom
 
гуру
18.05.15
13:59
(49) скажите чего больше: придуманных языков программирования или естественных языков общения?
51 trdm
 
18.05.15
14:00
(50) Вторых естественно.
52 ГеннадийУО
 
18.05.15
14:01
(50) Ладно, ладно ты ТруЪ-программер, остальные так покурить вышли...
53 Garykom
 
гуру
18.05.15
14:06
(51) а если усложнить задачку для подсчета? по распространенности? и того и другого в относительных на носителей числах?

т.я. к примеру я знаю русский и английский - 2 языка

а языков программирования чистых "без диалектов" (типа basic, vb и прочие vba и т.д.) знаю больше 2-х десятков причем большую часть "лучше чем английский"
54 Garykom
 
гуру
18.05.15
14:07
(52) дык по России даже в 600 не вхожу как выяснилось... но в 1000 попадаю ))
55 Serginio1
 
18.05.15
14:10
(38) В ООП не нужно. Там просто ссылка на метод в VMT меняется
56 Serginio1
 
18.05.15
14:10
55 А VMT копируется от родителя.
57 Garykom
 
гуру
18.05.15
14:15
Как только в 1С в типовых появятся в коде наследование и полиморфизм (на инкапсуляцию и прочие пофиг)

думаю кроме того что 1С-ников перестанут считать "недопрограммистами",

их количество резко уменьшится
58 Злопчинский
 
19.05.15
00:33
(13) я про такие модульные поставки лет семь трындыю. БГ даже вопрос такой был на ИСЕ - ответ сводится к тривиальному - стильно сложно, не потянем
59 Злопчинский
 
19.05.15
00:37
(57) Количество резко уменьшится.
.
тот же Кларион - вполне себе перспективно было пока они ООПшные шаблоны не сделали. И Кларион умер.