Имя: Пароль:
IT
 
.Net: DLL для 1C - выбор среды разработки
0 Diesellogin
 
14.12.07
13:49
Возникла необходимость разработки внешней компоненты для 1С, но никак не могу определиться, на чем же лучше писать? В "книге знаний" написано, мол на Visual Basic.net или Visual C#. А вот чем отличается Visual Basic.net от обычного Visual Basic и чем отличается Visual C# от Visual C++, я не знаю. По скольку софт необходимо брать лицензионный, то надо точно знать все таки какой именно софт.
Народ, если есть совет как поступить, буду признателен.
Прежде чем браться за изучение того же C#, а C++ я тоже не знаю, хотелось бы знать его преимущества перед тем же Basic (кроме производительности кода конечно) или Delphi, или Foxpro (вроде бы все визуал, все классовые и т.д.).
1 nop
 
14.12.07
13:50
(0) Абсолютно все равно. Но в .НЕТ или Шарпе - смысла нет
2 Чоп
 
14.12.07
13:53
3 Ёпрст2
 
14.12.07
13:54
"Возникла необходимость разработки внешней компоненты для 1С" ...
А чего за необходимость то хоть? ...
4 Hadgehogs
 
14.12.07
14:03
Естественно Дельфи.
Там все есть, все просто и язык человеческий...
5 Волшебник
 
14.12.07
14:05
"А вот чем отличается Visual Basic.net от обычного Visual Basic и чем отличается Visual C# от Visual C++, я не знаю"

Отличаются примерно так же, как 1С 8.0 от 1С 7.7
6 Diesellogin
 
14.12.07
14:08
(1) Почему нет смысла?
(3) Да по разному, то произвольные файлы читать и писать блоками, то обработка строковых массивов скоростная нужна, то таже отправка/прием почты. Конечно уже все есть готовое, но есть большое желаение писать собственные библиотечки, да и пользоваться несколькими готовыми менее изящно, чем одной и своей.
(4) А по цене как не в курсе, мне на работу (юр. лицо) надо?
7 Diesellogin
 
14.12.07
14:08
(5) Нихрена себе. И в какую сторону перевес?
8 Hadgehogs
 
14.12.07
14:08
Блин, надо Дельфи под NET посмотреть, а то я что - то на своем Дельфи 6 застрял..
9 Hadgehogs
 
14.12.07
14:10
(6) 1С всего этого не сможет?
8.0 точно сможет...
10 Almv
 
14.12.07
14:11
(7) Пиши на VB.NET
11 Волшебник
 
14.12.07
14:13
(6) Всё это можно сделать штатными средствами платформы 1Сv8
12 Almv
 
14.12.07
14:14
(7) перевес....это смотря для каких задач тебе С нужен
драйверы тогда С++, пользовательские приложения .NET
13 Diesellogin
 
14.12.07
14:16
(9) Обработка строк (анализ содержимого, преобразование в соответствии набору шаблонов и т.д. ----- медленно), блочная обработка больших файлов (jpg, mp3 - например ------ вообще невозможно, реализовано только построковое чтение файлов - тормозища) - это ве про 7.7, на 8-ке конечно дело другое, я бы с удовольствием везде перешео на нее, но в основном приходится ограничиваться 7-кой
14 Diesellogin
 
14.12.07
14:18
(12) Уже понятней. А вообще, если начинать изучать, то C++?
15 IUnknown
 
14.12.07
14:19
примеры идут на трех языках... паскаль(дельфин)... с++(визуал)... васик(визуал) ... первый от борланда, два последних от мс...
16 Вектор3
 
14.12.07
14:20
Лучше с С# или Java
17 Almv
 
14.12.07
14:21
(13) нет начинай изучать NET... С#  от VB отличается только синтаксисом в первом С во втором случа Basic
18 Йожык
 
14.12.07
14:22
Вот товарищ по работе притащил CodeGear RAD Studio... по всей видимости очень не плохая среда... вот токма стоит канеш :(
19 Almv
 
14.12.07
14:22
(13)-> (14)
20 Diesellogin
 
14.12.07
14:39
Никто не знает, почему (1) говорит, что нет смысла в NET и SHARP?
21 nop
 
14.12.07
14:42
(6, 10, 16, 20) А толку от кроссплатформенного языка для написания ДЛЛ, которая под Винду только работает?
22 Diesellogin
 
14.12.07
14:49
(21) На сколько я понял, возможности dot Net для типовых задач написанных на одном и том же языке особого смыла и не имеют? А вот про производительность кода: разве нет смысла в JIT-компиляции?
23 nop
 
14.12.07
14:53
(22) имхо, - не имеют.
А о J I T-компиляции вообще ничего не знаю.
Не люблю я эти НЕТ и Шарп - американские козни. Ява - рулит!
24 Asmody
 
модератор
14.12.07
14:53
[Обработка строк (анализ содержимого, преобразование в соответствии набору шаблонов и т.д. ] - VBScript.RegExp делает без всяких ВК

[блочная обработка больших файлов (jpg, mp3 - например] - зачем такое в 1С? и если все же "очень нужно", то в 1С++ есть класс BinaryData.
25 Asmody
 
модератор
14.12.07
14:54
(23) а Ява - русская? :)
26 nop
 
14.12.07
14:57
нашел! http://ru.wikipedia.org/wiki/JIT
(25) Чешский, но почти русский... Я любил кататься на ней в детстве
27 Diesellogin
 
14.12.07
15:02
(22) JIT - Just in time, байт-код перед запуском компилируется каким-то образом под текущий процессор, что -то такое. Говорят, мол из-за этого производительность кода на данной конкретной машине возрастает.
(24) 1C++ - имеется ввиду C++?
    Что-то я не совсем пойму, причем здесь скрипт на VBScript - это же самостоятельный язык, причем медленный?
28 nop
 
14.12.07
15:05
(27) ага. Найди разницу "ЛТ" и "JIT"
29 Diesellogin
 
14.12.07
15:07
(28) :) В первом случае русская "Л", во вотором лат. "J"+"I"
30 Diesellogin
 
14.12.07
15:07
(28) А чего "ага"?
31 Gepard
 
14.12.07
15:08
Я после шарпа на делфи смотреть не могу...
32 Gepard
 
14.12.07
15:09
(20) да он просто шарпа не знает... вот и выкаблучивается
33 nop
 
14.12.07
15:10
(29)(28) ага, потому что сначала искал в гугле "Л Т компиляция"
34 nop
 
14.12.07
15:10
(32) конечно. Толку мне с него. Аутсорсингом не занимаюсь
35 Gepard
 
14.12.07
15:11
(34) вот я об этом и говорю :)))
36 Gepard
 
14.12.07
15:12
(35) + а причем тут "Аутсорсингом не занимаюсь"?
37 Diesellogin
 
14.12.07
15:12
(32) И чего, есть значительные преимущества?
38 Gepard
 
14.12.07
15:13
(37) просто хорошо продуманный язык, очень логичный и удобный
39 Gepard
 
14.12.07
15:13
(38) единственное "неудобство" для некоторых, надо ставить .NET Framework
40 Asmody
 
модератор
14.12.07
15:14
41 i-rek
 
14.12.07
15:26
(39) ... для того чтобы разрабатывать не родные для .net com+ приложения

и потом ещё думать - а та ли версия .net стоит у клиента

короче изврат тот ещё
42 Immortal
 
14.12.07
15:27
хорошую религию выбрали индусы (с) Высоцкий..
имхо язык не важен
43 Gepard
 
14.12.07
15:29
(41) ну.. на данный момент, версий не так уж и много...
44 nop
 
14.12.07
15:29
(36) у меня, в Харькове, все где требуеть НЕТ и Шарп программисты - это заграничные компании, и основной заказчик - иностранный.
45 Gepard
 
14.12.07
15:29
(43) + и почему не родные? там можно сделать COM объект всего лишь, поставив одну галочку
46 Gepard
 
14.12.07
15:31
(45) просто ремоутинг круче :)
47 nop
 
14.12.07
15:32
(46) пока что в этом себя не пробовал
48 Gepard
 
14.12.07
15:35
(47) а я как-то делал изменения данный по цепочке
1С - Компонента - Компонента - 1С
в абсолютно различных базах...

Компонента - Компонента - через ремоутинг... прикольно
49 Gepard
 
14.12.07
15:35
данный = данных
50 nop
 
14.12.07
15:36
(48) что-то я сбился с мысли... "ремоутинг" - это что?
51 Diesellogin
 
14.12.07
15:37
(40) Вариант конечно, еще бы знать как работает VBScript.RegExp, в хелпе по VBScript есть, но желательно бы на русском да с примерами :)
52 Gepard
 
14.12.07
15:37
http://www.optim.su/cs/2001/4/remoting/remoting.asp


Ремоутинг в Microsoft.NET – это технология, позволяющая приложениям взаимодействовать друг с другом через границы процессов. Она позволяет посылать сообщения, работать с объектами, вызывая их методы и управляя их временем жизни, удаленно вызывая методы и прочее. Вы вольны выбирать пригодный вам канал передачи данных и способы сериализации объектов. Сегодня ремоутинг позволяет использовать TCP/IP и HTTP. Потенциально же возможности ремоутинга не ограничены рамками какого-либо сетевого протокола или операционной системы. Как и в случае SOAP, можно писать свои прослойки для доступа к объектам, если стандартных возможностей недостаточно. Ремоутинг позволяет строить распределенные приложения и легко передавать данные между ними. Сила данного механизма заключается в простоте реализации и гибкости использования различных протоколов для передачи информации.

Ремоутинг представляет собой абстрактный подход к реализации межпроцессной коммуникации и предоставляет определенный набор замещаемых модулей.

В целях упрощения разработки платформа .NET предоставляет несколько сервисов, обеспечивающих коммуникацию между процессами. Данная технология схожа с DCOM и CORBA по идеологии – максимальное упрощение разработки и развертывания распределенных решений, предоставление простого и мощного механизма удаленной работы с объектами.
53 nop
 
14.12.07
15:40
(52) надо учить НЕТ. Для общего развития. По свободе...
54 Diesellogin
 
14.12.07
15:41
nop,Gepard, вы друг друга нашли :)
Все таки мне выцидить из вашего общения суть надо. За что же взяться?
Оговорюсь, что C изучить хочу не только в помощь эске, но и как свмостоятельную альтернативу.
55 nop
 
14.12.07
15:42
(54) уче все! Пригодится
56 Gepard
 
14.12.07
15:42
(54) нет разницы, но имей ввиду, что C++ - это не C#
57 Кириллка
 
14.12.07
15:43
(54)вот ты и определился.
58 Diesellogin
 
14.12.07
15:48
(56) И все таки, начинать с C++? Насколько я понял он ближе к фундаментальному C. Или все тоже самое (синтаксис), только в C# инструментарий шире? Короче говоря на C# можно написать все то, что написано на C++, а наоборот нет?
59 nop
 
14.12.07
15:50
(58) на C# можно написать все то, что написано на C++
да
Наоборот тоже можно, только сложнее. И велокат может выйти
60 Diesellogin
 
14.12.07
15:51
(59) "велокат" - это что?
61 Gepard
 
14.12.07
15:52
(59) имхо, наоборот
C# более высокоуровневый язык

на С++ можно писать под любую OC, на C# ПО пишется под .NET Framework
62 nop
 
14.12.07
15:52
(60) Это заново изобретенный велосипед
63 nop
 
14.12.07
15:54
(61) ну WinAPI и прочие особенности ОС я не учел.
64 Gepard
 
14.12.07
15:56
(63) тут дело не только в этом...
на C++ полностью независимые программы (зависят только от особенностей системы)
C# - полностью зависит от .NET Framework (и ему пофиг какая система, главное, что установлен .NET (при правильном написании))
65 Gepard
 
14.12.07
15:57
(64) в общем C# привязан к платформе, так же как и 1С... только .NET Framework бесплатный
66 Diesellogin
 
14.12.07
15:58
Теперь все еще более яснее стало. Короче, приобретаю C++ для начала.
67 nop
 
14.12.07
15:59
(64) ага. Но .NET Framework ведь на С++ написан :)
68 Gepard
 
14.12.07
16:00
(67) скорей всего да...
69 nop
 
14.12.07
16:00
(66) да, наверно Фреймоврк как требование - лишне :)
70 Gepard
 
14.12.07
16:02
(69) но под ним (C#) ПО понадежней ;)
да и скачать .NET 2.0 размером 20 метров может каждый
71 Diesellogin
 
14.12.07
16:04
(69) :) Типа того...
72 nop
 
14.12.07
16:07
(70) Тогда компоненте Сэтап писать надо. А есть ли InstallShield под НЕТ?
73 Gepard
 
14.12.07
16:08
(72) InstallShield может и с ПО .net работать, а есть и специализированные проекты в VS
74 nop
 
14.12.07
16:10
(73) Визуал студио вроде токо под Венду?
В смысле сетап кроссплатформенный, для красоты
75 nop
 
14.12.07
16:10
(74) блин. Кроссплатформенный сетап - это бред
76 Gepard
 
14.12.07
16:11
а по поводу JIT - ПО компилируется под нужный проц. и в итоге работает быстрей
есть возможность предварительной компиляции (именно под этот компьютер)
77 Asmody
 
модератор
14.12.07
16:11
(66) зачем "приобретать" С++?
78 Gepard
 
14.12.07
16:12
(75) да улыбнуло :)
79 Gepard
 
14.12.07
16:12
(77) и для C# можно экспресс студию бесплатную скачать
80 Asmody
 
модератор
14.12.07
16:14
81 Gepard
 
14.12.07
16:16
82 Diesellogin
 
14.12.07
16:16
(77) Потому что на предприятии, а не дома. Здесь все лицензионное стоит, смысл тогда был вкладываться в легальный софт?
Я кстати там писал вам (51)
83 Diesellogin
 
14.12.07
16:17
(79) Бесплатную - это креканную?
84 Asmody
 
модератор
14.12.07
16:17
85 Diesellogin
 
14.12.07
16:18
(79)+ или урезанную?
86 Asmody
 
модератор
14.12.07
16:18
(83) бесплатную - это бесплатную
87 Gepard
 
14.12.07
16:19
(83) нет, просто бесплатную, она просто чуть упрощенная (но 2008 не пробовал... только 2005, т.е. она бесплатная, но что там - я не знаю)
88 Diesellogin
 
14.12.07
16:20
(86) Тогда зачем есть платные, когда можно взять легально бесплатную?
89 Diesellogin
 
14.12.07
16:20
(87) Понятно. Осталось поискать тогда.
90 Asmody
 
модератор
14.12.07
16:20
кроме того, есть еще SharpDevelop http://www.icsharpcode.net/OpenSource/SD/
он и бесплатный и не урезанный
91 Ленивый 1сник
 
14.12.07
16:21
А что, под нет разьве можно писать ВК для семерки?
92 Gepard
 
14.12.07
16:22
(91) да
вот например моя http://forum.d01-soft.ru/dload.php?action=file&file_id=5
93 Asmody
 
модератор
14.12.07
16:23
94 Ленивый 1сник
 
14.12.07
16:26
(92) Интересно. Честно говоря не думал. У .НЕТ же в файлах нескомпилированный код хранится, и под виртуальной машиной работает, как она обычную DLL имитирует?
95 Asmody
 
модератор
14.12.07
16:28
(94) все не так
96 Gepard
 
14.12.07
16:28
(94) регистрируется по-другому, не через regsrv32 и вся разница... кстати при этом помещается в глобальный кэш сборок...
97 Gepard
 
14.12.07
16:29
(96) и кажется, (не уверен) там уже хранится в компилированном виде
98 nop
 
14.12.07
16:30
(97) это типа репозитарий?
99 Gepard
 
14.12.07
16:31
ага
100 Ленивый 1сник
 
14.12.07
16:31
(97) А, там же COM... Тогда более-менее понятно, как работает и почему регистрируется подругому:)
101 solver it
 
15.12.07
17:30
Visual Studio 2005 - 2008 Express Edition. Абсолютно бесплатные.
Есть и С+++ и С# ... Предназначены для ознакомления и персонального использования.
В плане разработки позволяет тоже, что и полные версии. Урезана не функциональность разрабатываемого приложения, функции самой среды разработки. Например невозможно создание проектов под ВинМобайл...
Некоторые внешние компоненты работают только под полной версией.
Нету средств коллективной разработки.
Нету учета версий проектов... и т.д.
Т.е. большой проект сделать можно, но многое придется ручками делать...
102 jbond
 
15.12.07
18:46
(8) - нельзя туда смотреть. И вообще, забудьте про Делфи для .Net!

Если рассматривать бесплатные среды разработки для которых есть шаблоны, то:

Visual Basic/C# Express 2005.
Если ты знаешь Бейсик, то VB 2005 Express - твой логичный выбор.
http://ru.wikipedia.org/wiki/Visual_Studio_2005_Express

Качай:
http://www.microsoft.com/germany/msdn/vstudio/products/express/manuelleinstallation.mspx

http://www.microsoft.com/downloads/details.aspx?familyid=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=de

Turbo Delphi 2006 Explorer

Первая ставится без проблем, можно найти везде (книги, журналы).
Вторую - только качать. Требует регистрации (беплатной).
http://www.festra.com/eng/turboexplorerfaq.htm

(4) - не факт. Язык там нечеловеческий. Еще со времен Вирта.
103 Gepard
 
15.12.07
18:55
(102) +1 по каждому пункту
104 jbond
 
15.12.07
18:59
(91) - Да! .Net это не Ява. Там COM-interoperability заложен изначально.
105 Gepard
 
15.12.07
19:00
106 jbond
 
15.12.07
19:01
(103) - скажите, а из России видны ISO-образы для английского VB2005 Express.

Такое ощущение, что с выходом 2008 МС оставила только Веб-инсталляцию.
107 jbond
 
15.12.07
19:03
(105) - человеку нужно дать ссылку на ISO-образ VB2005 English.

На немецкую я дал :-)))
108 ado
 
15.12.07
19:06
(102) И какой же язык со времен Вирта был более человеческим? Бейсик что ли? Или С++, у которого неполная определенность считается фичей (тьфу, прости господи)? Из семейства Си, ИМХО только C# обрел "человеческое лицо".
109 Gepard
 
15.12.07
19:10
110 Gepard
 
15.12.07
19:11
(108) C#
111 Gepard
 
15.12.07
19:13
(106) нашел с трудом, даже web-инсталляцию сложно найти
112 ado
 
15.12.07
19:20
(110) Со времен Вирта, ага.
113 Gepard
 
15.12.07
19:21
(112) я такого не застал :))
114 jbond
 
16.12.07
13:29
(108) - Вообще-то тогда был Си. И сейчас он есть. И завтра он будет.

Паскаль реально начал использоваться с 80-го года, когда товарищ Хейлсберг создал Турбо Паскаль.

Именно благодаря ему из Паскаля получилось что-то более-менее вменяемое.
115 Gepard
 
16.12.07
14:00
(114) после выхода C#, Паскаль уже не кажется таким вменяемым ;)
116 Gepard
 
16.12.07
14:00
(115) но когда-то это был прикольный язык...
117 Hadgehogs
 
16.12.07
14:47
Снова ППЦ.
Не знаю, как там в С#, но в Borland Turbo С++ как - то все неполюдски (в смысле синтаксиса).
Начал его после Basic-a.
Ага
NOT - это у нас !
OR это у нас | для булево или || для побитных операций (как говаривал Вовочка - где логика??)
И еще много всего..
Но самый геммор был со СТРОКАМИ. Энто вообще ППЦ^2. За такое руки отрывать..
Хорошо, что паралельно Turbo Pascal в школе преподавали - на него и ушел (дальше - Delphi).
Потом позже попробовал Borland CBuilder++
Но кроме злости ничего не испытал..
Поэтому совет: лучше Delphi (проще в синтаксисе).
118 АЛьФ
 
16.12.07
14:49
2(117) Чушь. В С++ синтаксис намного проще и логичней.
119 Hadgehogs
 
16.12.07
15:00
Жаль нет книги Страупсура (простите, не помню точно фамилию).
Привел бы пример простого и логичного языка.
120 Gepard
 
16.12.07
15:28
(119) C# - это не C++
121 ado
 
16.12.07
15:31
(114) Был. И есть. И, наверное, будет. Но назвать его человеческим язык не поворачивается. Паскаль гораздо человечнее. И виртовский, и уж тем более борландовский.

(118) Проще возможно. Но логичнее ... i = i+++++i ... нафих такую логичность.
122 jbond
 
16.12.07
16:55
(121) - в Делфи есть такие нелогичности... Причем в элементарных вещах.

А Inc, Dec - магические процедуры, которые встроены в язык, не удовлетворяющих синтаксису языка.

Write/Read(Ln) - аналогично.

Создание объекта с помощью Create, который можно вызвать еще и как экземпляр-метод.

Спецификаторы доступа должны стоять в начале. В Делфи - в конце с соответствующим беспределом с точками с запятой.

Когда я пишу в Vb 2005 Overrides + пробел, Intellisense выводит методы, которые можно переопределять.

Как с этим обстоят дела в Делфи?

объявление локальных переменных: они не достойны отдельного блока описания, а должны описываться прямо в коде по необхосимости. Это существенно упрощает оптимизацию.

Никакой синтаксис описания свойств и методов тоже. Нужно писать по 4 раза одно и тоже и прыгать из интерфейсной части в импементационную.

Делфи не инлайнит св-ва.
123 Hadgehogs
 
16.12.07
19:21
1) inc, dec - какие здесь проблемы?
2) А вот где в оконном приложении это зверье использовать??? Типизированный файл писать? Нафиг... API CreateFile или TFileStream по вкусу...
3) По русски можно
4) Тоже интересно, что такое спецификаторы
5) ХЗ, я ООП не использовал почти. Обходился без этого.
6) Вот здесь согласен. Объявлять переменные среди кода - это гуд..
7) Ну уж не по четыре раза. И можно не писать. Можно CTRL+SHIFT+C нажать. Если вас правильно понял.
8) Тоже не вкурил.

Приведите пожалуйста пример на C++
Объявите 2 строковые переменные, сложите их и выведите их в TLabel на форме
124 Gepard
 
16.12.07
20:25
C#

string Строка1 = "Строка 1";
string Строка2 = "Строка 2";

label1.Text = Строка1 + Строка2;
125 BabySG
 
16.12.07
23:19
(117) А чем не нравятся строки? Или вы не понимаете разницу массива символов, указателя ( char*, к примеру) либо произвольного объекта? Как такового, смею вас заверить, типа строка вообще не существует - и никто еще не умер.

(123) Вы просите пример не на С++, а на VIsual С++ (либо подобном) ибо в С++ не существует форм, элементов и другого

(124) Он просит не через объекты :), а через strcat(...)
126 BabySG
 
16.12.07
23:21
(123) По поводу этого поста - дык о чем говорить, если не вкуриваете смысл ООП и даже не знаете что такое спецификаторы доступа.
127 Hadgehogs
 
17.12.07
07:52
(126)
Да не вкуриваю ООП, на что это влияет?
128 ado
 
17.12.07
08:11
(122)

1,2) Согласен, это косяк.
3) И чо? Порой даже полезно.
4) Какого фига они в конце? Они в начале, причем не каждого описания, а группы.
5) Причем здесь язык??? Это претензия к ИДЕ.
6) Очень спорный вопрос. Во первых, предварительное описание всех переменных дисциплинирует мыслю, заставляет более тщательно к проектированию подходить (не забываем для чего Вирт изначально Паскаль придумал ;-)), во вторых когда во время отладки встречаешь обращение к переменной, и хочешь узнать ее тип, не приходится шарахатбся по всему коду, ища ее определение.
7) Угу. А то, что в С++ вообще отдельные заголовочные файлы нужно писать, эт ниче.
8) Отсутствие отдельной фичи не делает язык нелогичным. И вообще, это забота компилятора. А зато в сях вложенных процедур нету, вот.
129 spock
 
17.12.07
08:20
(121)i = i+++++i - это UB (неопределенное поведение). Разные компиляторы могут по разному интерпретировать такой код.
130 Hadgehogs
 
17.12.07
08:27
(128) Можете пояснить моему слабому уму, где в inc/dec, Write/Read косяк ?
131 spock
 
17.12.07
08:28
(128)"описание переменных в начале модуля" = "когда во время отладки встречаешь обращение к переменной, и хочешь узнать ее тип, не приходится шарахатбся по всему коду, ища ее определение"

"С++ вообще отдельные заголовочные файлы нужно писать" - далеко от истины.
132 Gepard
 
17.12.07
09:44
(125) п.3 - это же C#
133 Asmody
 
модератор
17.12.07
10:26
начинается холивар?
134 MMF
 
17.12.07
10:35
(131) вообще-то не надо шариться, среда показывает хинтом тип. А если с ctrl щелкнуть, то можно перейти к определению.
135 Gepard
 
17.12.07
10:40
(134) + а в VS достаточно просто навести на переменную, что б получить ее тип
136 spock
 
17.12.07
10:46
(134)я не против же :)
137 BabySG
 
17.12.07
10:50
(127) Это влияет на код

(128)
6) Вы, видимо, не видели последние пару версий MSVC - там выдается несколько строк кода, где эта переменная объявляется. Очень удобно.
7) Вы, видимо, не в курсе, для чего это так :)

(132) Он просит на С++, а не на шарпе :)
138 BabySG
 
17.12.07
10:51
(133) Да не - пока плюшками балуемся... Ибо все смешалось в этом доме :)
139 Gepard
 
17.12.07
10:52
(138) +1
140 Hadgehogs
 
17.12.07
10:55
(137) <Это влияет на код>
Напомнило анекдот про Шерлока и др. Ватсона на воздушном шаре и программиста на земле.
141 Gepard
 
17.12.07
11:06
(140) с объектами намного удобней :), имхо
142 jbond
 
17.12.07
12:00
(130) -

По правилам Паскаль ты не можешь создавать процедуры типа Write(Ln)/Read(Ln), Inc, Dec, Lo, Hi.

Они вшиты в язык. Вот эта вшитость в язык и является злом. Люди ищут исходные тексты этих процедур, но не могут найти - их не существует.

В Си scanf и printf отвечают правилам языка.
143 MMF
 
17.12.07
12:05
(142) и это недостаток??? еп, какой-нить идиот переопределит Inc, так чтобы на самом деле выполнялось умножение, и потом ломай голову.
144 Ц_У
 
17.12.07
12:34
Delphi и синтаксис похож, и примеров до ж..ы...
145 romix
 
модератор
17.12.07
12:52
В Дельфи изначально есть нормальные человеческие строки, нормальные массивы, ( Книга знаний: Динамические массивы в Delphi )  а также нормальная обработка исключений ( Книга знаний: Обеспечение стабильной работы внешних компонент на Delphi ).

В Си++ все это тоже есть, но вы легко можете столкнуться с образчиками кода, которые не используют все эти полезные механизмы, а применяют нечто древнее, с указателями и кодами возврата, в которых легко запутаться. В C# все эти новые возможности изначально тоже есть (прямой конкурент Дельфям), но там какие-то проблемы с различием версий .NET (но ознакомиться полезно).

С другой стороны если рядом есть консультант по Си++ и в наличии есть образчики кода внешней компоненты с использованием указанных выше механизмов (в чем я глубоко сомневаюсь), то почему бы и нет. Я выкладываю образцы исходного кода на Дельфи (см. у меня карточку), а делают ли это уважаемые господа сишники? Нет? Какая жалость.
146 Gepard
 
17.12.07
12:59
(145) а можно поподробней про проблемы C#? ;)
147 sapphire
 
17.12.07
13:07
(145) Рома, ты не прав. 1С++ есть в исходниках. Качай на здоровье.
(146) Легко. В .NET нет поддержки предыдущих версий, т.е если собирал под второй версией framework, то на первой и третьей версии работать не будет, вообще стабильно будет работать только под той версией framework, для которой осуществлена сборка.
148 Asmody
 
модератор
17.12.07
13:14
(147) именно. изначально .NET позиционировалось, как средство от dll hell. но в результате получили те же грабли, вид сбоку
149 Gepard
 
17.12.07
13:33
(147) 2. не вижу в этом минусов
150 sapphire
 
17.12.07
13:47
(149) Привязка к версии framework это сильный минус.
151 Gepard
 
17.12.07
13:59
(150) если я портирую ПО на какую либо платформу, то я портирую весь проект...
152 sapphire
 
17.12.07
14:00
(151) Это понятно, но тогда вместе с твоей рзработкой ты должен поставлять ту весию платформы, в которой ты собирал. У нас используется .NET посему проблемы эти я видел.
153 ado
 
17.12.07
14:04
(142) Проблема не в этом. Кстати, я ошибся, в Inc/Dec криминала нету. Есть только в read/write. А криминал в том, что по правилам паскаля процедура не может иметь неопределенное (не путать с переменным) количество/тип параметров.
154 Gepard
 
17.12.07
14:06
155 Вектор3
 
17.12.07
14:07
(153) и Вы считаете, что это большая проблема???
156 ado
 
17.12.07
14:08
(134)(135) Мы вроде не за среду говорим, а за язык. Давайте мух от котлет отделять.
157 ado
 
17.12.07
14:09
(155) Не большая. Но изящности не прибавляет.
158 Вектор3
 
17.12.07
14:10
(156) вообще то сабж про среду))))
159 Gepard
 
17.12.07
14:12
Никто не мешает в C++ или в C# поместить описание переменных в начало процедуры...
все зависит от разработчика, и данные языки дают просто большую свободу действий разработчикам!
160 ado
 
17.12.07
14:14
(145) "В Дельфи изначально есть нормальные человеческие строки, нормальные массивы"

В кои то веки соглашусь с Ромиксом. ;-) Это бльшой плюс. Добавлю еще нормальную передачу параметров составных типов. А все это вместе уменьшает потребность жонглирования указателями и повышает безопасность кода.
161 ado
 
17.12.07
14:16
(159) Воспитательный момент упускаешь ;-)
(158) Начиная с поста (102) холивар бушует за язык ;-)
162 sapphire
 
17.12.07
14:24
(161) Тогда уж лучше холивар про то, как писать .NET или native. Под dotNET типа пофигу на чем писать, а вот native - уже нет. Да и выбор в сторону Delphi не очевиден - если совсем играться и пописывать, то уж лучше VB. Что-то выше hello, word - Delphi, большие и серьезные проекты - С/С++/java
163 Вектор3
 
17.12.07
14:24
(161) не скажу за C#, но в руководствах к Java прямым текстом сказано - старайтесь объявлять переменные там где Вы их используете - это повышает производительность. Думаю, для C# это тоже справедливо
164 Gepard
 
17.12.07
14:25
(162) типа шарп совсем не котируется ?? ;))
165 sapphire
 
17.12.07
14:26
(163) java это гутт, но автору (0) не подойдет.
166 Gepard
 
17.12.07
14:26
(163) в шарпе можно объявлять переменные в теле цикла, это уменьшает область действия этой переменной только этой итерацией цикла... таким образом память выделяется более оптимально
167 Вектор3
 
17.12.07
14:28
(164) я думаю, имеется в виду , что он не имеет критических преимуществ перед другими .NET языками...
168 Gepard
 
17.12.07
14:34
(166) это работает не только со ссылками, но так же и с if и т.д.
169 Gepard
 
17.12.07
14:35
(168) тьфу... ссылками = циклами :)))
170 sapphire
 
17.12.07
14:35
(164) Котируется в ASP .NET... Серьезных проектов под dotnet я не видел. Да и странно то, что сама MS, вернее MBS, на .NET не спешит переходить.
171 Gepard
 
17.12.07
14:37
(170) вот ASP .NET не перевариваю :))
172 sapphire
 
17.12.07
14:42
вообще, спор ни о чем.
Проще рассматривать с другой стороны - с точки зрения radости (RAD= rapid application development), если автора (0) не пугает наличие dotnet - то вполне можно обойтись любым языком в dotnet, иначе - Borland Delphi/Microsoft Visual C++.
173 ado
 
17.12.07
14:44
(162) Большие и серьезные проекты в какой области? ИМХО, КИС разрабатывать -- Делфи гораздо более подходящая вещь, чем С/С++. MFC по сравнению с VCL вообще убог... эээ, спартанская.
174 ado
 
17.12.07
14:46
(172) Таки Делфи, ИМХО, гораздо "радее" MSVS.
175 sapphire
 
17.12.07
14:46
(171) ну и зря :) конечно jsp/servletы рулят, и с моей точки зрения php не тянет большие нагрузки, но сама технология вполне жива и заслуженно завоевала популярность.
176 sapphire
 
17.12.07
14:48
(173) Кроме КИС больше ничего в голову не приходит? CAD/CAM, например?
ИМХО, выбор среды/языка зависит от целей проекта.
177 ado
 
17.12.07
14:50
(176) Вооооот! "Серьезность" -- не показатель для выбора языка/среды.
178 Ненавижу 1С
 
гуру
17.12.07
14:52
в паскале (от борланда) break, continueб exit являются идентификаторами процедур и их можно даже переопределить на свои )))
Но это инструкции (операторы, как хотите) и должны быть служебными словами
179 sapphire
 
17.12.07
15:03
(177) Не убедил.
180 Gepard
 
17.12.07
15:04
пора голосовалку устраивать
181 sapphire
 
17.12.07
15:04
(180) Оно надо?
182 Gepard
 
17.12.07
15:08
(181) мне - нет. я уже с языком определился
183 sapphire
 
17.12.07
15:13
(182) I2
184 Gepard
 
17.12.07
15:14
Когда-то писал на дэлфи... после шарпа не нее даже смотреть не могу ;)
185 nop
 
17.12.07
15:15
(184) бояним? :) (31)
186 Gepard
 
17.12.07
15:16
(185) :)))), ветка слишком длинная, давно начало не читал :)))
187 sapphire
 
17.12.07
15:19
(184) А мне после java на пошарпанное си смотреть влом :)
188 Вектор3
 
17.12.07
15:22
(187) оно конечно да, но ИМХО студия у мелкомягких сильно хорошая
189 Gepard
 
17.12.07
15:24
Еще б бесплатная была...
190 ado
 
17.12.07
15:27
(184) Верю. Я ж говорю, в C# линейка сей наконец обрела человеческое лицо. И это понятно, т.к. он самый новый. Вобрал всё лучшее, что было в предшествующих объектно-ориентированных языках. И избавился от их детских болячек.
191 Gepard
 
17.12.07
15:30
(190) было б интересно сделать подобный язык, но без CLR...
192 spock
 
17.12.07
15:32
(190)те вещи, которые ты называешь детскими болячками, другие называют фичами.
193 Вектор3
 
17.12.07
15:42
(191) Java ftw ))))
194 ado
 
17.12.07
15:48
(192) Ога. "Когда не достигают желаемого, делают вид, что желали достигнутого" (цы)
195 jbond
 
17.12.07
16:14
(143) - так вот, это кар раз и можно сделать.

волшебные процедуры Inc, Dec можно написать самому, перекрывая стандартный функционал. ++, -- - это ОПЕРАЦИЯ, а не процедура. +=, -= из VB.Net - ОПЕРАТОР, а не процедура.

Волшебными являются процедуры Break, Continue. Они вшиты в язык. Но это идентификатор. Юзер может спокойно завести переменную Break и функцию Continue - и все...

А в Си - break, return,... - ЗАРЕЗЕРВИРОВАННОЕ слово. Функциональность не поменяешь.

В Бейсике Exit Sub, Exit For, ... - операторы. Их функциональность программист не сможет изменить!
196 ado
 
17.12.07
18:09
(195) А так ли они нужны в качестве операторов?
197 Hadgehogs
 
17.12.07
18:39
Нда, "сходил автор за хлебушком".
Для себя сделаю вывод:
1) Посмотреть Дельфи для NET (у брата в универе счаст преподы усиленно эту весщь продвигают)
2) Посмотреть С# (вдруг понравится)
198 jbond
 
17.12.07
18:41
(196) - а так ли они нужны в качестве волшебных процедур, которые в любой момент могут быть переопределены.

Вот вам и стройность языка Паскаль.
199 jbond
 
17.12.07
18:43
(1) - на Делфи для .Net я очень не советую смотреть. Они испоганили всю идею .Net.
200 Gepard
 
17.12.07
18:45
(197) лучше определись или делфи или нет... не надо мешать все в кучу
201 jbond
 
17.12.07
18:51
(197) - (2) - Си Шарп надеюсь не от Борланд? От него сама Борланд отказалась.
202 ado
 
17.12.07
18:51
(199)(200) Вот с этим согласен. Если уж дотнет, то сишарп. Просто это на сегодня лучшая реализация ООП.
203 ado
 
17.12.07
18:51
(201) С каких пор?
204 jbond
 
17.12.07
19:07
(203) - с версии для .Net 2.0

CodeGear поддерживает теперь линейку Delphi for Win32, Delphi for .Net, C++ for Win32.
205 jbond
 
17.12.07
19:16
(202) - или VB.Net

Собс-но у фирмы МС Visual Basic-программисты основной
206 ado
 
17.12.07
19:50
(205) Не знаю ... может в версии для .нет он стал лучше, но от VB6 у меня только отвращение осталось ...
207 ado
 
17.12.07
19:52
(206) Если C++ был излишне "фичастый" и это можно было потерпеть, то VB был просто убогий.
208 jbond
 
17.12.07
22:03
(207) - не факт. VBA/VB6 имеют приличный синтаксис. Хотя и имеет много атавизмов
По сравнению с тем же Делфи.

Просто язык МС развивала по необходимости. Аналогия - 1С 7.0 - 7.5 - 7.7
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой