Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Код с продакшена рабочего проекта :-D
Dim got_new_batch As Boolean = False
Dim batch_numb As Integer = 0
Dim temp_batch As Integer = 0
While got_new_batch = False
temp_batch = objRandom.Next(400000000)
If check_batch_avaliable(temp_batch) = True Then
got_new_batch = True
batch_numb = temp_batch
End If
End While
Public Function check_batch_avaliable(ByVal batch_number As Integer) As Boolean
'CWC-7/11/2016-Rewritten to avoid runtime error
Dim RC As Integer = -1
Dim DBConnection As New IfxConnection(INFXConnectionStr_RPCentral)
'Try
Dim SQL As String = ""
SQL = " select first 1 batch_numb from " + System.Configuration.ConfigurationManager.AppSettings("InformixTable") + " where batch_numb = " & batch_number
Dim DBCommand As New IfxCommand(SQL, DBConnection)
DBCommand.CommandType = CommandType.Text
DBCommand.CommandTimeout = 200
DBConnection.Open()
RC = CInt(DBCommand.ExecuteScalar())
DBConnection.Close()
' Catch ex As Exception
' Dim ErrMsg = ex.Message
' Finally
If Not DBConnection Is Nothing Then
If DBConnection.State = ConnectionState.Open Then
DBConnection.Close()
End If
DBConnection = Nothing
End If
' End Try
If RC > 0 Then
Return False
Else
Return True
End If
End Function
В чем вообще был прикол писать именно на VB ?
До сих пор с него припекает, т.к попадались в т.ч забавные игрухи( типа того же Zombie Smashers ), написанных, видать, под WinXP.
И, б.-же, сколько же оно требует всевозможных рантаймов, либ и проч необходимого для запуска( т.е даже на хрюше не всегда работало, а с семеркой и, тем более, десяткой - вообще веселуха )
>И, б.-же, сколько же оно требует всевозможных рантаймов, либ и проч необходимого для запуска
msvbvm50.dll
vbrun60sp6.exe занимал что-то около 10 метров.
На фоне монструозных дотнетов и яв это ужос как много.
Говно, написанное на «VB», часто требует доустановки и регистрации (через regsvr32) всякого говна с расширением «.ocx». Проблема не в размере, а в том, что авторы забывают добавить это говно в инсталлятор. На машине автора всё работает — какие проблемы?
Доо сгенерируй %НАЗВАНИЕ_ТЕХНОЛОГИИ%-hell и с серьезным видом рассказывай об этом как о само-собой разумеющемся факте 🙂
Конкретно в случае с виндой подобная проблема в особо запущенном состоянии была, почему-то, именно у VB..
У остального - обычно хватало стандартной пачки редистов и все отлично работало.
Нет. Потому что установил конкретный редист и оно работает.
В случае с ВБ - нередко, требуется дополнительно куча стороннего и условно-стороннего барахла, притом, нередко, хз_какого, т.к сама прога, вылетая с ошибкой, это сообщает далеко не всегда.
Вот и думай потом, что конкретно и какой версии проге надобно, а так же - ну нафига было относительно простые проекты делать именно на ВБ, когда были всякие VC и иже с ними.
Магия. Ты с какого ресурса пишешь ?
Спрашиваю, т.к у ГК много копий одно время было. Некоторые - даже с перепостом на основной ресурс творящегося на копии срача.
..а потом - ломай голову, какого *** guestXXX сам с собой в десятке лиц спорит.
Но я давно на ГК не заходил. Чет ностальгия одолела и, как назло, сразу VB !:)
п.с: но я, все-таки, на целых 33 - 09 = 24 секунды раньше 🙂
Можно. При попытке запуска программы выскочит сообщение, какой именно dll-ки не хватает.
В случае же с VB выскакивает сообщение «Класс не зарегистрирован», причём зачастую даже названия класса нет. Причём выскочить оно может не сразу, а в процессе работы.
Для С++ тебе нужен редист (анлесс ты статически склинкованный питуз), и ты понимаешь, что его надо бандлить (или линковаться статисськи).
С VB таймлайн был таков.
* Питуз установил себе Pituz.ocx (или он сам поставился с Internet Explorer Super Pack Plus).
* У Питуза в реестре теперь есть COM объект с километровым CLSID GUID и .ocx файл к нему .
* Прошло три года
* Питуз запускает VB6.0, и видит там иконку петуза. Он уже и не знает/не помнит, откуда у него там эта иконка. Думает, что это часть VB6.0.
* Перетаскивает иконку на формочку
* Компилриует программу
* Посылает получившийся .exe (с рантаймом VB) другу Зелибобе
* Зелибоба не имеет Internet Explorer Super Pack Plus, и Pituz.ocx тоже не имеет
* Зелибоба получает хуй.
Умные Питузы умели собрать инсталлятор, который брал все нуждные .ocx, и регистрировал их (как requirements.txt или package.json)
Там проблема в том, что нередко требуется целая куча разных мелких модулей, о самом факте необходимости которых нередко даже сообщения об ошибках не говорят( запускаешь -> вылетает ошибка, например, 0х12345678 - и попробуй догадаться, какого черта приложению требуется ).
Даже жаль чутка.. т.к некоторые игры были воистину годные и атмосферные.
А из не_игр почти все благополучно ушло в небытие.
Ну а дотнеты или явы - это отдельная история.
Хотя, как минимум, там под конкретную версию обычно просто конкретный толстый установочник с тонной барахла, после установки которого все даже работает.. иногда.
> как минимум, там под конкретную версию обычно просто конкретный толстый установочник с тонной барахла, после установки которого все даже работает.. иногда.
А разве с Microsoft Visual C++ Redistributable таких проблем не было? Вы скачали ms vcredist 2015, а для работы софта нужен ms vcredist 2008 или ms vcredist 2005.
Под каждую версию дот.нета вообще нужно качать свой установщик. Тут без вариантов.
C явой было проще: до 8ой версии можно было брать самую свежую и всё работало.
В 9ой они много чего сломали, и теперь юзерам придётся держать несколько версий явы.
Я делал загрузочную дискету с «DOS», «Windows 3.1», «Сапёром» и «Пасьянсом». Если отрезать ненужное, это всё утаптывалось и запускалось (для чистоты эксперимента отключал винчестер).
Он ещё и выглядел как говно. Как 3.11. Поэтому гуя на жаве в 90х - начале 2000х я почти не видел.
В то время был васик, цпп и Делфи. Гц был только в васике и гуй он давал неплохой.
VB кстати был первой пробой пера MS в реализации идеи IL-ассемблера, то есть байт-кода.
Бейсик можно было конпелировать в псевдокод (P-code).
Такие EXE-шники работали куда медленее, зато имели меньший объём. В целом фича была абсолютно бесполезной.
У «Куикбейсика» тоже был байткод. Однако, он использовался для другого: для более компактного хранения исходников и для сокращения времени на парсинг. Была возможность восстановления текстового исходника из байткода. При работе в роли компилятора (если попросить его сделать экзешник), а не интерпретатора, «Куикбейсик» генерировал обычный нативный код.
А вот в «VB» впервые решили использовать байткод не для зожатия исходников, а для рантайма.
Ещё MobileBasic для j2me хранил программы в байткоде, и деконпелировал перед чтением или редактированием, но можно было сохранить и текстовый исходник на карту мапяти.
Кстати, во время редактирования код мог помещаться в поле не весь и приходилось выходить из режима редактирования, он конпелировал всё написанное говно, и потом надо опять открывать нужный кусочек, он деконпелировался и загружался в поле редактирования. Форматирование и регистр вне строковых литералов терялись конечно.
В ту же эпоху были и другие конпеляторы, которые генерировали байткод (т. е. экзешник нёс в себе виртуальную машину): «Foxpro», «Clipper», «Clarion». Перечисленные языки объединяла одна особенность: интегрированная СУБД.
>Назови мне мейнстримовый язык с гц в 90х.
VB6
Там не нужно было морочить голову прямым управлением памятью и многопоточностью.
В VB был простенький сборщик на счётчике ссылок.
И хитрая псевдомногопоточность с DoEvents и таймерами.
Я стал ласкать их. У них, был свой вкус. Не такой, как у Наташкиных, и не такой, как у других женщин, а особый, только ей принадлежащий, волшебный вкус.
ageron # 0
MAKAKA # 0
в бесконечном цикле выбирать рендомную запись этот лол
Кстати, как часто он угадывает запись?
sam # 0
До сих пор с него припекает, т.к попадались в т.ч забавные игрухи( типа того же Zombie Smashers ), написанных, видать, под WinXP.
И, б.-же, сколько же оно требует всевозможных рантаймов, либ и проч необходимого для запуска( т.е даже на хрюше не всегда работало, а с семеркой и, тем более, десяткой - вообще веселуха )
3.14159265 # 0 ⇈
msvbvm50.dll
vbrun60sp6.exe занимал что-то около 10 метров.
На фоне монструозных дотнетов и яв это ужос как много.
nblXOMAKAKA # 0 ⇈
3.14159265 # 0 ⇈
dll-hell и отсутствие пакетного менеджера общая болезнь виндов.
Можно и в vc++ и в mingw наделать shared buildов и забыть добавить нужные dllки.
sam # 0 ⇈
Конкретно в случае с виндой подобная проблема в особо запущенном состоянии была, почему-то, именно у VB..
У остального - обычно хватало стандартной пачки редистов и все отлично работало.
3.14159265 # 0 ⇈
sam # 0 ⇈
В случае с ВБ - нередко, требуется дополнительно куча стороннего и условно-стороннего барахла, притом, нередко, хз_какого, т.к сама прога, вылетая с ошибкой, это сообщает далеко не всегда.
Вот и думай потом, что конкретно и какой версии проге надобно, а так же - ну нафига было относительно простые проекты делать именно на ВБ, когда были всякие VC и иже с ними.
guest # 0 ⇈
https://govnokod.xyz/_26699/#comment-533421
Как так?
sam # 0 ⇈
Спрашиваю, т.к у ГК много копий одно время было. Некоторые - даже с перепостом на основной ресурс творящегося на копии срача.
..а потом - ломай голову, какого *** guestXXX сам с собой в десятке лиц спорит.
Но я давно на ГК не заходил. Чет ностальгия одолела и, как назло, сразу VB !:)
п.с: но я, все-таки, на целых 33 - 09 = 24 секунды раньше 🙂
MAMOHT # 0 ⇈
В случае же с VB выскакивает сообщение «Класс не зарегистрирован», причём зачастую даже названия класса нет. Причём выскочить оно может не сразу, а в процессе работы.
guest # 0 ⇈
Для С++ тебе нужен редист (анлесс ты статически склинкованный питуз), и ты понимаешь, что его надо бандлить (или линковаться статисськи).
С VB таймлайн был таков.
* Питуз установил себе Pituz.ocx (или он сам поставился с Internet Explorer Super Pack Plus).
* У Питуза в реестре теперь есть COM объект с километровым CLSID GUID и .ocx файл к нему .
* Прошло три года
* Питуз запускает VB6.0, и видит там иконку петуза. Он уже и не знает/не помнит, откуда у него там эта иконка. Думает, что это часть VB6.0.
* Перетаскивает иконку на формочку
* Компилриует программу
* Посылает получившийся .exe (с рантаймом VB) другу Зелибобе
* Зелибоба не имеет Internet Explorer Super Pack Plus, и Pituz.ocx тоже не имеет
* Зелибоба получает хуй.
Умные Питузы умели собрать инсталлятор, который брал все нуждные .ocx, и регистрировал их (как requirements.txt или package.json)
sam # 0 ⇈
Даже жаль чутка.. т.к некоторые игры были воистину годные и атмосферные.
А из не_игр почти все благополучно ушло в небытие.
Ну а дотнеты или явы - это отдельная история.
Хотя, как минимум, там под конкретную версию обычно просто конкретный толстый установочник с тонной барахла, после установки которого все даже работает.. иногда.
3.14159265 # 0 ⇈
А разве с Microsoft Visual C++ Redistributable таких проблем не было? Вы скачали ms vcredist 2015, а для работы софта нужен ms vcredist 2008 или ms vcredist 2005.
Под каждую версию дот.нета вообще нужно качать свой установщик. Тут без вариантов.
C явой было проще: до 8ой версии можно было брать самую свежую и всё работало.
В 9ой они много чего сломали, и теперь юзерам придётся держать несколько версий явы.
guest # 0 ⇈
на нагруженном софтом компе можно было увидиеть десять версий рантайма
3.14159265 # 0 ⇈
И с ними были проблемы.
В xp не было 2005 и 2008.
guest # 0 ⇈
3.14159265 # 0 ⇈
> так их надо было распостранять с софтом
То есть проблема распространения зависимостей и либ это не какая-то особенность VB.
MAMOHT # 0 ⇈
Это вообще не проблема. У разных версий vcredist разные названия dll. Там сразу видно, какую версию нужно скачать и установить.
bormand # 0 ⇈
Ага, особенно сразу видно, когда винда тебе говорит "программа некорректно установлена, попробуйте её переустановить".
bormand # 0 ⇈
KOPOHABuPYC # 0 ⇈
guest # 0 ⇈
Что в 1999 году было овердохуя так-то
3.14159265 # 0 ⇈
Но однозначно не меньше трёх дискет.
Но там емнип были вообще всё. comctl32.ocx. А сам msvbvm весил куда меньше.
nblXOMAKAKA # 0 ⇈
nblXOMAKAKA # 0 ⇈
guest # 0 ⇈
MAKAKA # 0 ⇈
guest # 0 ⇈
guest # 0 ⇈
Представляю, как он тормозил
guest # 0 ⇈
В то время был васик, цпп и Делфи. Гц был только в васике и гуй он давал неплохой.
sam # 0 ⇈
Тем более, что речь о проектах 00-х...
guest # 0 ⇈
С момента бандла дотнета в винду (примерно с семерки) писать на VB стало нужно никогда. Вообще.
3.14159265 # 0 ⇈
Бейсик можно было конпелировать в псевдокод (P-code).
Такие EXE-шники работали куда медленее, зато имели меньший объём. В целом фича была абсолютно бесполезной.
Даже само название рантайма: msvbvm намекает.
nblXOMAKAKA # 0 ⇈
А вот в «VB» впервые решили использовать байткод не для зожатия исходников, а для рантайма.
bagrinho # 0 ⇈
nblXOMAKAKA # 0 ⇈
HIV # 0 ⇈
Кстати, во время редактирования код мог помещаться в поле не весь и приходилось выходить из режима редактирования, он конпелировал всё написанное говно, и потом надо опять открывать нужный кусочек, он деконпелировался и загружался в поле редактирования. Форматирование и регистр вне строковых литералов терялись конечно.
Веселуха!
nblXOMAKAKA # 0 ⇈
guest # 0 ⇈
nblXOMAKAKA # 0 ⇈
3.14159265 # 0 ⇈
Да.
В том-то и дело что они почему-то не замахивались на кроссплатформенность. Только оптимизировали размер.
А ко времени выхода VB размер бинарника перестал играть такую важную роль, в то время как просадка скорости в интерпретаторе была значительной.
nblXOMAKAKA # 0 ⇈
guest # 0 ⇈
3.14159265 # 0 ⇈
VB6
Там не нужно было морочить голову прямым управлением памятью и многопоточностью.
В VB был простенький сборщик на счётчике ссылок.
И хитрая псевдомногопоточность с DoEvents и таймерами.
victir # 0
victir # 0