Нещо като тест на Тюринг :)
11 отговора
660 прегледа
Нещо като тест на Тюринг :)
Днес един приятел ми прати следния VB код:
Me.ListModules = New System.Windows.Forms.ListView()
Me.Modules = New System.Windows.Forms.ColumnHeader()
Me.btnSave = New System.Windows.Forms.Button()
Me.btnExit = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'ListModules
'
Me.ListModules.CheckBoxes = True
Me.ListModules.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.Modules})
Me.ListModules.Location = New System.Drawing.Point(16, 16)
Me.ListModules.Name = "ListModules"
Me.ListModules.Size = New System.Drawing.Size(200, 400)
Me.ListModules.TabIndex = 0
'
'Modules
'
Me.Modules.Text = "Модули"
Me.Modules.Width = 170
'
'btnSave
'
Me.btnSave.Location = New System.Drawing.Point(232, 16)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(64, 32)
Me.btnSave.TabIndex = 1
Me.btnSave.Text = "Запис"
'
'btnExit
'
Me.btnExit.Location = New System.Drawing.Point(232, 64)
Me.btnExit.Name = "btnExit"
Me.btnExit.Size = New System.Drawing.Size(64, 32)
Me.btnExit.TabIndex = 2
Me.btnExit.Text = "Изход"
'
'Form_frmAddNew
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.BackColor = System.Drawing.Color.Teal
Me.ClientSize = New System.Drawing.Size(306, 426)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnExit, Me.btnSave, Me.ListModules})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "Form_frmAddNew"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "Добавяне на модули"
Me.ResumeLayout(False)
В първия момент почнах да го критикувам - що пише Me навсякъде, що не ползва with и т.н.
Какво беше учудването ми, когато се оказа, че кода е генериран автоматично.
Не знам защо като го видях за пръв път ми заприлича на човешко творение.
Я вышел им наперерез!
Me.ListModules = New System.Windows.Forms.ListView()
Me.Modules = New System.Windows.Forms.ColumnHeader()
Me.btnSave = New System.Windows.Forms.Button()
Me.btnExit = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'ListModules
'
Me.ListModules.CheckBoxes = True
Me.ListModules.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.Modules})
Me.ListModules.Location = New System.Drawing.Point(16, 16)
Me.ListModules.Name = "ListModules"
Me.ListModules.Size = New System.Drawing.Size(200, 400)
Me.ListModules.TabIndex = 0
'
'Modules
'
Me.Modules.Text = "Модули"
Me.Modules.Width = 170
'
'btnSave
'
Me.btnSave.Location = New System.Drawing.Point(232, 16)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(64, 32)
Me.btnSave.TabIndex = 1
Me.btnSave.Text = "Запис"
'
'btnExit
'
Me.btnExit.Location = New System.Drawing.Point(232, 64)
Me.btnExit.Name = "btnExit"
Me.btnExit.Size = New System.Drawing.Size(64, 32)
Me.btnExit.TabIndex = 2
Me.btnExit.Text = "Изход"
'
'Form_frmAddNew
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.BackColor = System.Drawing.Color.Teal
Me.ClientSize = New System.Drawing.Size(306, 426)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnExit, Me.btnSave, Me.ListModules})
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.Name = "Form_frmAddNew"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "Добавяне на модули"
Me.ResumeLayout(False)
В първия момент почнах да го критикувам - що пише Me навсякъде, що не ползва with и т.н.
Я вышел им наперерез!
I da, i ne :-)
Temata btw naistina e vesela - testa na Turing obache ne e adekvaten zastoto sme programisti - po-blizo da machinite otkolkoto do horata.
UB40 !
UB40 !
Re: Нещо като тест на Тюринг :)
E to ne prechi na generatora da wadi kod sus With, wmesto sus Me - dori bi moglo da oprosti w njakoi sutiatzii neshtata (no ako trjabwa da se smeswat dva kontexta - mozhe i da stane po-slozhno).
Ot druga strana - az wse po-malko i po-malko sum ubeden che GUI-to trjabwa da se opiswa koda - predi bjah goljam fen na ideata... posledno vreme smjatam che wsichki podobni opisania trjabwa da sa navun - kato danni ili resursi.
Ot druga strana - az wse po-malko i po-malko sum ubeden che GUI-to trjabwa da se opiswa koda - predi bjah goljam fen na ideata... posledno vreme smjatam che wsichki podobni opisania trjabwa da sa navun - kato danni ili resursi.
Re: Нещо като тест на Тюринг :)
Народа явно се лашка насам-натам.
В предишните VB GUI-то беше описано извън кода.
Я вышел им наперерез!
Я вышел им наперерез!
Re: Нещо като тест на Тюринг :)
UI-то вярно че си е черна работа, ама смятам че няма лошо да прилича на програмиране. Най-малкото е по-гъвкаво. Доста по естествено е да работиш с код, отколкото с ресурси, като се налагат разни runtime манипулации.
peace, love, unity
peace, love, unity
Re: Нещо като тест на Тюринг :)
Mda taka e - ako se nalagat runtime modifikatzia... No ako se nalaga translatzia? i ne stigat poletata....
Re: Нещо като тест на Тюринг :)
Ауто генериран код от Visual Studio.NET, по-точно от УинФорм дизайнера. Какво те притеснява ? Дърпаш с мишката контроли наляво-надясно и Студиото се оправя нататъка. Дразни те, че е в кода и не е отделен? Слагаш си го във #region директива и го затваряш в студиото да не ти пречи.
With клаузата се поддържа от синтаксиса на ВБ.НЕТ, но заради backward-compatibility, пичовете от .НЕТ фреймуърк тийма си имат съображения да не я ползват, има статия във МСДН защо според тях With не е добра практика.
Е да, верно, подреден и разбираем е кода.. и ясен... няма 50 пойнтера към структура от пойнтери и 5 вложени фора които алокират/деалокират памет... и сигурно не се компилира със gcc... така, че "истинските" програмисти направо могат да плюят отгоре на тоя код. А пък нали е Бейсик... кой велик програмист пише Бейсик.
With клаузата се поддържа от синтаксиса на ВБ.НЕТ, но заради backward-compatibility, пичовете от .НЕТ фреймуърк тийма си имат съображения да не я ползват, има статия във МСДН защо според тях With не е добра практика.
Е да, верно, подреден и разбираем е кода.. и ясен... няма 50 пойнтера към структура от пойнтери и 5 вложени фора които алокират/деалокират памет... и сигурно не се компилира със gcc... така, че "истинските" програмисти направо могат да плюят отгоре на тоя код. А пък нали е Бейсик... кой велик програмист пише Бейсик.
Шшшт !
Тоя код си е в Регион :-)))
Само че за останалото си прав - НЕ прилича особено на любимите някому С++ бози :-))) Що да е просто като може да е сложно ?
UB40 !
Само че за останалото си прав - НЕ прилича особено на любимите някому С++ бози :-))) Що да е просто като може да е сложно ?
UB40 !
Re: Шшшт !
В C++ няма with, бе. Пък на бейсик съм писал бая повече от тебе. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Нещо като тест на Тюринг :)
Нищо не ме дразни бе, човек.
Просто или остарявам, или оглупявам, най-вероятно и двете.
Взех машнно генериран код за човешки. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Нещо като тест на Тюринг :)
Е па умничко е новото Вижуал Студио, действително кода дето го генерира е доста по-добър от този на повечето "програмисти"... има и други интересни неща.
Примерно с мишката навигираш по Sql Server-а, дабъл кликваш на произволна сторната процедура и ти генерира целия скучен код за извикването и взимането на резултата барабар със всичките параметри.
Е.. ама друго си е да го напишеш на С това, да имаш контрол на ниско ниво, както някои хора се изразяват.
Примерно с мишката навигираш по Sql Server-а, дабъл кликваш на произволна сторната процедура и ти генерира целия скучен код за извикването и взимането на резултата барабар със всичките параметри.
Е.. ама друго си е да го напишеш на С това, да имаш контрол на ниско ниво, както някои хора се изразяват.
Бе
писал си ти :-)))
Толкоз и на С си писал, я се концентрирай сега върху АТМЕЛ-а че няма време :-)))
UB40 !
Толкоз и на С си писал, я се концентрирай сега върху АТМЕЛ-а че няма време :-)))
UB40 !