Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Не технический вопрос по VB

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
DW



Зарегистрирован: 26.08.2005
Сообщения: 17

СообщениеДобавлено: Ср Авг 31 2005 10:01    Заголовок сообщения: Не технический вопрос по VB Ответить с цитатой

Просмотрев несколько десятков примеров написания программ, классов, компонентов и т.д. и т.п. я обратил внимание на одну вещь: все они, без исключения, написаны с использованием латинских букв (если использовать RegExp то можно записать так: [0-9A-Za-z]). Вот только я не понимаю почему. Ведь сам VB позволяет использовать кирилицу в качестве имен переменных, функций, констант и т.п. Вот только никто это не использует. Ну я еще понимаю, написания DLL для проекта, который пишут разные люди на разных языках програмирования. Да и то, это относиться только к интерфейсным, экспортируемым функциям. А точнее к их именам. Ну а "внутренности" намного удобнее, во всяком случае лично мне, писать на кирилице.
Возможно я несколько "шовинист", если так можно сказать в этом случае, но если есть возможность писать программы на родном языке, то почему-бы это и не использовать?
Но может я ошибаюсь, и использовать кирилицу при написании программ нельзя? Обьясните мне тогда почему. Ведь программы написаные таким образом вполне работоспособны.
P.S. у меня стоит VB6 pro rus.
P.P.S. Именно из-за этой особенности VB - поддержки кирилицы в именах переменных- я и начал на нем писать Smile.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mpakmopucm



Зарегистрирован: 24.12.2002
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Ср Авг 31 2005 10:23    Заголовок сообщения: Ответить с цитатой

RegExp на самом деле выглядел бы несколько иначе: [a-zA-Z_][a-zA-Z_0-9]*
А на самом деле, скорее привычка+вероятность словить кучу труднообнаруживаемых глюков. Если даже учесть, что все компиляторы понимают локали, можно отловить такое: ты пишешь что-нибудь с другим челом на одном компиляторе. А ему нравятся классические (латинские) имена. И у него есть переменная, допустим cpy. Сколькими способами ее можно написать так, чтобы для человека (но не для компилятора) она выглядела одинаково? 7-ю способами. А даже если и один работаешь, библиотечные, функции, операторы ведь один фиг латинские, так что прыгая из раскладки в раскладку очень легко вбить один символ не так. И думай потом, почему это значение переменной - null, хотя вот она, родная. То же самое можешь получить при адаптации к себе какого-нибудь примера, скачанного из инета или любого другого источника. IMHO так.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DW



Зарегистрирован: 26.08.2005
Сообщения: 17

СообщениеДобавлено: Ср Авг 31 2005 11:20    Заголовок сообщения: Ответить с цитатой

mpakmopucm писал(а):
RegExp на самом деле выглядел бы несколько иначе: [a-zA-Z_][a-zA-Z_0-9]*

Согласен. Существенное уточнение.

mpakmopucm писал(а):

А на самом деле, скорее привычка+вероятность словить кучу труднообнаруживаемых глюков. Если даже учесть, что все компиляторы понимают локали, можно отловить такое: ты пишешь что-нибудь с другим челом на одном компиляторе. А ему нравятся классические (латинские) имена. И у него есть переменная, допустим cpy. Сколькими способами ее можно написать так, чтобы для человека (но не для компилятора) она выглядела одинаково? 7-ю способами. А даже если и один работаешь, библиотечные, функции, операторы ведь один фиг латинские, так что прыгая из раскладки в раскладку очень легко вбить один символ не так. И думай потом, почему это значение переменной - null, хотя вот она, родная. То же самое можешь получить при адаптации к себе какого-нибудь примера, скачанного из инета или любого другого источника. IMHO так.

Согласен с замечаниями. Да, конечно при использовании только латинских символов в именах переменных можно избежать этой ошибки. Но ведь если компилятор допускает использования локали то при написании комментария и последующем выходе из него есть вероятность не переключить раскладку. А компилятор это проглотит. Да, я согласен, что в таком случае вероятность гораздо мешьше.
Другой аспект. Уже очень много написано о том, что следует давать максимально информативные имена переменным. Кроме того. Если двое людей пишут один проект, то они большей частью используют не переменные а функции из модуля или класса. При чем именно Public-фнукции, тоисть интерфейсные. А им априори следует давать максимально информативные имена. Так что часть проблем это снимает. А насчет различного написания одних и тех же переменных есть в VB такая полезная штука как Option Explicit, если не ошибаюсь. Так что на все заранее не обьявленые переменные компилятор будет матюгаться Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mpakmopucm



Зарегистрирован: 24.12.2002
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Ср Авг 31 2005 16:41    Заголовок сообщения: Ответить с цитатой

Цитата:
А насчет различного написания одних и тех же переменных есть в VB такая полезная штука как Option Explicit, если не ошибаюсь. Так что на все заранее не обьявленые переменные компилятор будет матюгаться Smile

Да, будет весело так матюгаться, но помимо своих собственных ошибок придется отвлекаться еще и на эту (и ,кстати, в памяти ее постоянно держать).
А в остальном - пофигу. Привычка.

P.S. Я, между прочим, сейчас в html-файле на ява-скрипте Shocked локализованную (русскую, есс`-но) переменную для экспериментов замутил. И нифига. Работает. И ехплорер, и фирефокс, и мозилла, и нетшкаф, и опера: никто не ругнулся. Даже нелокализованные браузеры.
Прикольно. if (хуу!=оопа)...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DW



Зарегистрирован: 26.08.2005
Сообщения: 17

СообщениеДобавлено: Ср Авг 31 2005 17:02    Заголовок сообщения: Ответить с цитатой

mpakmopucm писал(а):

Да, будет весело так матюгаться, но помимо своих собственных ошибок придется отвлекаться еще и на эту (и ,кстати, в памяти ее постоянно держать).
А в остальном - пофигу. Привычка.

P.S. Я, между прочим, сейчас в html-файле на ява-скрипте Shocked локализованную (русскую, есс`-но) переменную для экспериментов замутил. И нифига. Работает. И ехплорер, и фирефокс, и мозилла, и нетшкаф, и опера: никто не ругнулся. Даже нелокализованные браузеры.
Прикольно. if (хуу!=оопа)...


Точно. У меня тоже подобная реакция была. Только про JS я не знал. Мне даже в голову не приходило. А когда я впервые попробовал использовать кирилическую переменную (это было в каком-то скрипте то-ли для Word-а, толи для Exel-я, сейчас уже не помню), по ошибке между прочим, и это прокатило - у меня чуть глаза не вылезли Very Happy . Я на радостях даже написал крошечную програмульку на VB и послал ее другу по E-Mail. Она называлась "Обалдеть.exe". Вот с тех пор так и пишу с использованием кирилицы. Где-то уже 2-3 года наверное.
P.S. Я тоже думаю что в основном всему виной привычка.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mpakmopucm



Зарегистрирован: 24.12.2002
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Ср Авг 31 2005 18:48    Заголовок сообщения: Ответить с цитатой

Я же придерживаюсь классического подхода.
А JavaScript - это так... Просто прикольнутся над IE Laughing захотелось. А оказалось - работает Shocked. Дай, думаю, фирефокс удивлю... А он не удивляется; жрет. Ладно. Есть опера. Щас устроим... Мля, вот собака! В общем надо мной прикололисьCrying or Very sad . Только вот текстовыми браузерами не пробовал. Типа Lynx.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Aragaer



Зарегистрирован: 28.03.2005
Сообщения: 164

СообщениеДобавлено: Чт Сен 01 2005 01:26    Заголовок сообщения: Ответить с цитатой

Гм. Лично у меня кириллица в программах проскакивает только если я переключаюсь в редактор из аськи/еще чего, забыв переключить раскладку. После чего нещадно изничтожается. Комментарии все на английском, вывод тоже стараюсь делать на английском, до тех пор, пока делаю для себя.

Просто я расчитываю на то, что один и тот же текст программы я могу править в разных текстовых редакторах и даже в разных операционных системах и мне очень не хочется получать лишние проблемы из-за кодировок.
_________________
Open your eyes.
And Awaken.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DW



Зарегистрирован: 26.08.2005
Сообщения: 17

СообщениеДобавлено: Чт Сен 01 2005 09:55    Заголовок сообщения: Ответить с цитатой

Aragaer писал(а):
Гм. Лично у меня кириллица в программах проскакивает только если я переключаюсь в редактор из аськи/еще чего, забыв переключить раскладку. После чего нещадно изничтожается. Комментарии все на английском, вывод тоже стараюсь делать на английском, до тех пор, пока делаю для себя.


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

Aragaer писал(а):

Просто я расчитываю на то, что один и тот же текст программы я могу править в разных текстовых редакторах и даже в разных операционных системах и мне очень не хочется получать лишние проблемы из-за кодировок.


На счет кодировок - я полностью согласен. Это громадное препятствие. Но я же начинал эту, если можно так выразится, дискуссию только по поводу VB. А он не очень-то распространен на различних операционных системах Smile (скрипты не в счет).

P.S. Правда я недавно встретил в сети сообщение, что M$ выпустила версию VB специально для Linux-а. Незнаю, незнаю... Но думаю что он, VB, там не приживется...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mpakmopucm



Зарегистрирован: 24.12.2002
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Чт Сен 01 2005 10:04    Заголовок сообщения: Ответить с цитатой

Цитата:
P.S. Правда я недавно встретил в сети сообщение, что M$ выпустила версию VB специально для Linux-а. Незнаю, незнаю... Но думаю что он, VB, там не приживется...

А чего! Вон openoffice в линухе есть. Аналоги вордов, там всякие, екселей и т.п. Дык, мс офис - это не только ценный мех... не только ворд с екселем, а помимо всяких прибамбасов еще и вба. Так вот, опять же ради прикола решил я посмотреть, что с ентим в опенофисе (Линух АСП-9). И что? А то! Есть он там. Уж не знаю, каким раком он там реализован, но крутейший скрипт в стиле дедушки Кернигана
Код:
msgbox "Hello world!"

прекрасно зарабртал без единой ошитбки.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DW



Зарегистрирован: 26.08.2005
Сообщения: 17

СообщениеДобавлено: Чт Сен 01 2005 10:45    Заголовок сообщения: Ответить с цитатой

mpakmopucm писал(а):

А чего! Вон openoffice в линухе есть. Аналоги вордов, там всякие, екселей и т.п. Дык, мс офис - это не только ценный мех... не только ворд с екселем, а помимо всяких прибамбасов еще и вба. Так вот, опять же ради прикола решил я посмотреть, что с ентим в опенофисе (Линух АСП-9). И что? А то! Есть он там. Уж не знаю, каким раком он там реализован, но крутейший скрипт в стиле дедушки Кернигана
Код:
msgbox "Hello world!"

прекрасно зарабртал без единой ошитбки.


Ну я же сказал, что скрипты не в счет... А если говорить об OO, то VB там реализован наверное для совместимости с M$ Office. Вообще-то странно было бы если бы в OO небыло VB. Тогда я вообще не понимаю каким макаром могла бы быть хоть какая-то совместимось.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...