Yiff.ru

Форум

Главная
Галерея
Истории
FAQ
Ссылки
О сайте
Форум
Гостевая книга
Логин:      Пароль:     [ Регистрация | Поиск ]
Форум yiff.ru >> Бейсик и все все всеСтраницы: [<<<][ 1.. | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ..14 ][>>>]

Автор Сообщение
Wise Dragon
Тентакледракон
Сообщений: 7581

10.01.2014 04:15
Инфо | цитировать | линк
Аthаri писал: А что, во всех сборках линуксов ко всем перечисленным тобой языкам среды разработки прилагаются?
В принципе да. Тот же Emacs — универсальная среда разработки с плагинами к большинству известных и неизвестных языков.

Только к нормальным языкам типа Tcl она не особенно нужна, так как есть REPL и редакторы с подсветкой кода. А GUI на Tk — это не XAML и если ты можешь представить себе как расположить контролы на форме, тебе не составит труда их нарисовать сразу кодом. Вот на мой код посмотри для примера — кнопки для всех символов ввода числа (цифры, ± и запятая) рисуются одним циклом с телом в две строчки. Подозреваю что расставить их по форме в визуальном редакторе и прописать к каждой процедуры отдельно потребовало значительно больше труда, чем написание этого цикла.

В шарпе ничего "мифически" не рухнет, если только старательно к этому не стремиться.
Видимо, ты стремился, раз твоя программка и в этой версии рушится от OOM, если раскомментировать кусок кода.

Разница между class и struct содержательно в способе присваивания (копирование против ссылки), на практике обычно в выделении памяти (в куче или на стеке). Это базовое знание языка, а не "загадка".
А ты про грабли C++ спроси у Страуструпа, он тебе тоже скажет, что это базовое знание языка.

Присваивание и создание ссылки — это принципиально разные операции и обозначаться они должны по-разному. Кстати в питоне тоже такой косяк есть — конкатенация строк и сложение чисел обозначается одним способом — знаком '+'. Вот в Tcl '+' — это только сложение чисел, а попытка выполнить его над не-числовыми строками вызывает ошибку:
% expr {"a"+"b"}
can't use non-numeric string as operand of "+"
% expr {"3"+2}
5

А конкатенация строк проще всего записывается просто как "$a$b". Для конкатенации списков есть специальная команда concat.

Когда разным по своей сути операциям присвоены разные имена — это облегчает написание и понимание кода и уменьшает вероятность ошибки.

Ради тебя одного буду засорять код подобным мусором, ага.
То есть ты хочешь, чтоб тот, кто будет компилировать код под другой ОС или другой версией Windows (но сильно отличающейся), матерясь, вылавливал ошибки компилятора и расставлял это всё за тебя?

Аthаri писал: Из популярного — получить полный window placement
Просто wm geometry .window
Или если окон больше одного — итерировать по списку окон.
Или ты про что-то другое? В любом случае смотри здесь — наверняка нужное есть.

Проверка кода до компиляции. Если в файле ничего не подчёркнуто, то он гарантированно скомпилируется. Подсветка проблемного, неисполняемого кода.
И тормозит эта штука наверное как не знаю что. Вот в браузерах тоже вешают "мгновенный поиск по странице". Если страница маленькая — то да. вроде удобно, даже энтер нажимать не надо, а вот если она на несколько мегабайт, то после каждой буквы он тормозит пока её не найдёт. А что если в студии открыть проект на 70 мегабайт кода, сколько он будет открываться? Час? Два?

Зачем вообще лепить перечисленное в одну программу, если можно для отладки применять программу-отладчик, для написания кода — редактор кода, а для компиляции — компилятор?

Интересно, а ты считаешь, что обучение программированию надо начинать с работы в IDE типа визуальной студии или дельфи?

 
 
 
Jabberсвободное общение!
.
 

Сообщений: 1763

10.01.2014 12:44
Инфо | цитировать | линк
В принципе да. Тот же Emacs — универсальная среда разработки с плагинами к большинству известных и неизвестных языков.
Wise Dragon, запустил свою бубунту на виртуалке. Где мой предустановленный emacs? Не вижу.

Только к нормальным языкам типа Tcl она не особенно нужна, так как есть REPL и редакторы с подсветкой кода.
Я тебе про разницу между IDE и блокнотом с подсветкой не объяснил? Только продемонстрировать такое не могу, к сожалению, потому что для Tcl ничего такого и в помине нет.

А GUI на Tk — это не XAML и если ты можешь представить себе как расположить контролы на форме, тебе не составит труда их нарисовать сразу кодом.
Угадай, кто быстрее представит форму: ты, читая императивный код в Tcl, или я, открывший форму в дизайнере? И это у тебя ещё только один грид и кнопки ровно по сеточке, а не что-то сложное.

Видимо, ты стремился, раз твоя программка и в этой версии рушится от OOM, если раскомментировать кусок кода.
Для тех, кто в танке: за моно не отвечаю. С моей точки зрения это ты что-то напортачил с использованием моно, а моя программа не при чём. Если отладишь и докажешь обратное — пожалуйста, продолжим разговор.

А ты про грабли C++ спроси у Страуструпа, он тебе тоже скажет, что это базовое знание языка.
Ты бы сначала Страуструпа почитал, прежде чем городить подобную чушь.

Когда разным по своей сути операциям присвоены разные имена — это облегчает написание и понимание кода и уменьшает вероятность ошибки.
Это проблема языков с динамической и нестрогой типизацией. Поэтому в JavaScript "+" для строк — это проблема, а в C++ — нет.

То есть ты хочешь, чтоб тот, кто будет компилировать код под другой ОС или другой версией Windows (но сильно отличающейся), матерясь, вылавливал ошибки компилятора и расставлял это всё за тебя?
Да. С каких пор у меня возникла обязанность проверять код на осях, которые используются 1% юзеров? Если мне этот 1% заплатит — пожалуйста. А так у меня есть более полезные дела.

Просто wm geometry .window
Глянул доки, нашёл только упоминание "widthxheight±x±y".

Ты мне дай всю информацию из WINDOWPLACEMENT: положение и размер в нормальном состоянии, положение в свёрнутом состоянии, положение в развёрнутом состоянии. Причём вся эта информация должна извлекаться из окна независимо от того, в каком состоянии оно находится сейчас.

И тормозит эта штука наверное как не знаю что.
Ввод кода медленнее, чем в блокноте, да. Но незначительно, в том числе на относительно больших файлах. Если один файл на несколько мегабайтов кода — да, будет тормозить. Но тогда у меня для тебя плохие новости.

А что если в студии открыть проект на 70 мегабайт кода, сколько он будет открываться? Час? Два?
Про кэширование слышал? Проект откроется сразу, но в фоне будут проходить анализ, в это время автодополнение и прочее будут в упрощённом виде. Результат закэшируется, так что при последующих изменениях тормозов при запуске не будет.

Зачем вообще лепить перечисленное в одну программу, если можно для отладки применять программу-отладчик, для написания кода — редактор кода, а для компиляции — компилятор?
Сейчас ты уже чушь городишь. Или когда ты отлаживаешь и наводишь курсор на переменную в редакторе кода, у тебя не выводится её значение из отладчика?

Интересно, а ты считаешь, что обучение программированию надо начинать с работы в IDE типа визуальной студии или дельфи?
Да. IDE сильно упрощают жизнь новичку, позволяя сконцентрироваться на сути программирования, а не на всех стадиях сборки и командной строке любимой оси.

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7581

10.01.2014 17:46
Инфо | цитировать | линк
Аthаri писал: Да. IDE сильно упрощают жизнь новичку, позволяя сконцентрироваться на сути программирования, а не на всех стадиях сборки и командной строке любимой оси.
Я начинал с IDE, так что тебе не верю. Borland C Builder и MS VC6 были ужасным кошмаром, особенно второе, когда C изучали в универе.
К счастью позже перешли на Dev-C++, это уже более-менее норм IDE.

Или когда ты отлаживаешь и наводишь курсор на переменную в редакторе кода, у тебя не выводится её значение из отладчика?
Ты когда-нибудь с gdb работал (напрямую)?

Ввод кода медленнее, чем в блокноте, да.
И это на трёхгигагерцевом проце. А что будет если её запустить на бюджетном ноутбуке с 2 гигами оперативки?

Аthаri писал: положение в свёрнутом состоянии, положение в развёрнутом состоянии.
Это как вообще? Если окно свёрнуто, о каком положении идёт речь? Если положение на панели задач, то оно будет у правого края пока запущено последним (но можно перетащить куда угодно). Если развёрнуто — занимает весь экран, кроме панели задач. Или ты про то, на каком рабочем столе, первом, втором, третьем или четвёртом? Так откроется на текущем столе, очевидно. Это вообще дело оконного менеджера — решать куда поместить окна. Пользователю не всегда нужно чтоб приложение открывалось там же где было закрыто. А если нужно — по идее это должно задаваться в настройках оконного менеджера, а не самого приложения (чтоб всем приложениям не надо было реализовывать одну и ту же функциональность а достаточно было её написать один раз)

Аthаri писал: С каких пор у меня возникла обязанность проверять код на осях, которые используются 1% юзеров?
1.74% на конце 2013 года.
Можешь вообще не проверять, никто тебя не обязывает. Но просто правила хорошего тона обязывают оборачивать костыли в специальные блоки — чтоб можно было легко их найти и переписать если найдётся некостыльный способ и чтоб при компиляции можно было отключить их.

Аthаri писал: Это проблема языков с динамической и нестрогой типизацией. Поэтому в JavaScript "+" для строк — это проблема, а в C++ — нет.
Может и не проблема, но всё-таки единообразие желательно. Для объектов, которые ведут себя как числа операция + подходит, для строк, конкатенация которых некоммутативна — не подходит. Она должна обозначаться как-то иначе. Вот в перле это точка, например.

Угадай, кто быстрее представит форму: ты, читая императивный код в Tcl, или я, открывший форму в дизайнере?
Что-то мешает запустить приложение и увидеть эту форму?

Аthаri писал: Только продемонстрировать такое не могу, к сожалению, потому что для Tcl ничего такого и в помине нет.
С чего ты взял, что нет? Есть Visual Tcl например. Я правда его не ставил и не запускал, ибо и без него норм.

запустил свою бубунту на виртуалке. Где мой предустановленный emacs? Не вижу.
Ну так это убунта же. sudo apt-get install emacs и будет. Не суди по Ubuntu о всём GNU/Linux.
Не скажу что прямо таки самый плохой дистрибутив — при желании пользоваться можно. Но устанавливать всё кроме базового окружения придётся самому. Вот в 8.04 изкоробки был и Emacs и GIMP.

 
 
 
Jabberсвободное общение!
.
 

Сообщений: 1763

10.01.2014 20:06
Инфо | цитировать | линк
Я начинал с IDE, так что тебе не верю. Borland C Builder и MS VC6 были ужасным кошмаром, особенно второе, когда C изучали в универе.
Wise Dragon, ага, сравнивать современный линуксоидный софт с виндовым софтом 16-летней давности — это единственный способ выставить линукс победителем. f:>

Для информации: в винде нормальный дизайнер форм появился для .NET в 2002 г. Нормальный дизайнер форм для C++ не появился до сих пор, если ничего не путаю.

Ты когда-нибудь с gdb работал (напрямую)?
Я даже не знаю, что это такое.

И это на трёхгигагерцевом проце. А что будет если её запустить на бюджетном ноутбуке с 2 гигами оперативки?
Я ещё не выжил из ума, чтобы на бюджетном ноутбуке 10-летней давности разрабатывать современный софт. Память воткни и не старадай фигнёй.

Пользователю не всегда нужно чтоб приложение открывалось там же где было закрыто.
Ага. "Вам это не нужно." Будто не с пингвиноводом разговариваю, а с яблоководом.

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

А если нужно — по идее это должно задаваться в настройках оконного менеджера
"По идее" много чего правильно. Но пока оконнные менеджеры не научились различать все типы окон в моём приложении, а положение надо сохранять для всех. Так что давай мне не идеологию, а реальное решение.

Но просто правила хорошего тона обязывают оборачивать костыли в специальные блоки
Мои правила хорошего тона говорят не превращать код в гοвнo "на будущее". Поддержка всех осей без реального тестирования — это "на будущее". Посему антипаттерн.

Вот в перле это точка, например.
Который тоже не строго типизирован. Закономерность.

Что-то мешает запустить приложение и увидеть эту форму?
Это ты калькулятор можешь запустить. А если в приложении 20 форм и сложная логика, чтобы добраться до каждой?

Ну так это убунта же.
То есть у меня неправильный линукс.

Итого: чтобы всё было зашибись, как по описаниям Вайза, нужна сущая мелочь — найти правильный дистрибутив, найти правильную его версию со всем нужным софтом, умудриться его поставить... А потом — внезапно! — весь нужный софт будет "уже" присутствовать на искомом компьютере.

Теперь объясни, в чём разница между установкой винды и нужного софта.

 
 
 
Koshachii
лисенок
Сообщений: 907

10.01.2014 21:41
Инфо | цитировать | линк
Raptor-Black писал: Прямо два профессора жестоко спорят чья формула правильнее.
Читать рельно интересно, особенно снежного котика. Жаль, "лучше или хуже" все равно определяет заказчик на работе, т.е. рынок труда. За исключением, когда сам для себя петпроджект пилишь.

Щас у мяф, например, новый проект - переписать уже замечательно работающий под windows код java (mysql) на C# (MS SQL). Требование заказчика! Причина единственная - чтобы была только одна платформа Microsoft, пусть это сейчас будет и дороже. Типа, при дальнейших доработках, дотнетчики будут доступнее и дешевле, чем джависты. :o Имхо, бредовый проект, но клиент всегда прав.

По теме. Руби на рельсах используется большей частью для веба. Говорят, на нем очень быстро пишется, поэтому, видимо, его так любят стартапы (очень популярен в США). Но медленноват и хромает обратная совместимость с новыми версиями. Мало актуальной документации на русском. Сам по себе Руби почти не используется. Имхо, для обучения, как первый язык программирования, без знания английского - не самый лучший выбор.

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7581

10.01.2014 21:45
Инфо | цитировать | линк
Аthаri писал: ага, сравнивать современный линуксоидный софт с виндовым софтом 16-летней давности — это единственный способ выставить линукс победителем.
Кстати, ещё я когда-то собирался изучить C#, и пошел по проторенному пути: купил книгу, начал читать, купил диск с Visual Studio 2005, попытался поставить... Это был ужас — то ей .NET не той версии, то вылетает на середине. Ну всё-таки поставил. Это поделие заняло больше двух гигабайт, если правильно помню.
Далее я открыл пример кода из книги, увидел там public static void Main. Вообще весь код занимал около страницы. А визуальная студия просто кошмарно тормозила. Как впрочем и Delphi после покупки фирмы Borland. Так что по сравнению с более новыми версиями, VC6 не так уж и плоха.

В общем, я понял что обычный C много проще и после этого больше к C# не возвращался.

Да и кстати, я не видел какой дизайнер форм в VC6 поскольку писали там только консольные приложения.

Нормальный дизайнер форм для C++ не появился до сих пор
QtCreator же

Я ещё не выжил из ума, чтобы на бюджетном ноутбуке 10-летней давности разрабатывать современный софт.
Ага, а потом удивляются, почему те же задачи, которые софт выполнял отлично на третьем пеньке с 256 метров оперативки сейчас тормозит и на компе с двухядерным процем и четырьмя гигами.
Как раз софт надо разрабатывать на сравнительно слабом компьютере, чтоб воочию чувствовать если он тормозит, а не со слов других. Не совсем конечно устаревшем. Бюджетное железо 3-летней давности или среднее 5-летней, скажем так.

Для каких-то других задач, типа рисования или 3D-моделирования нужен современный производительный комп. А для разработки софта комп как раз должен быть слабым.

Память воткни и не старадай фигнёй.
А что я скажу пользователям? Предложу менять железо, чтоб запустить написанный мной калькулятор?

Но пока оконнные менеджеры не научились различать все типы окон в моём приложении, а положение надо сохранять для всех.
Да ну? А на каких оконных менеджерах ты тестировал? fvwm, Xmonad, awesome, kwin, twm, compiz?

мне нужно его положение в нормальном состоянии, чтобы, когда я закрою и запущу приложение снова, а потом верну окно в нормальное состояние, положение сохранилось.
Ну можно перехватывать команду развёртывания и смотреть геометрию, после чего разворачивать. А вообще нужность сомнительная.

А если в приложении 20 форм и сложная логика, чтобы добраться до каждой?
А если эти формы ещё и постоянно динамически меняются в процессе исполнения? И не просто state disable какой-нибудь, а появляются и исчезают виджеты?

Аthаri писал: Теперь объясни, в чём разница между установкой винды и нужного софта.
Ставь что хочешь, я тебе запрещаю что ли?

И где там твой калькулятор?

 
 
 
Jabberсвободное общение!
.
 

Сообщений: 1763

10.01.2014 22:01
Инфо | цитировать | линк
Причина единственная - чтобы была только одна платформа Microsoft, пусть это сейчас будет и дороже. Типа, при дальнейших доработках, дотнетчики будут доступнее и дешевле, чем джависты.
Koshachii, иметь одну технологию выгоднее хотя бы по той причине, что не нужно искать дотнетчиков, разбирающихся в джаве, или джавистов, разбирающихся в дотнете.

Да и кстати, я не видел какой дизайнер форм в VC6 поскольку писали там только консольные приложения.
Wise Dragon, По секрету: тебе повезло его не видеть. :D

QtCreator же
Я имею в виду в VS. А у конкурентов есть, да.

Как раз софт надо разрабатывать на сравнительно слабом компьютере, чтоб воочию чувствовать если он тормозит, а не со слов других.
Ты это плюсовику какому-нибудь расскажи. f:> Разрабатывать надо на быстром железе, а потом оптимизировать узкие места.

А что я скажу пользователям? Предложу менять железо, чтоб запустить написанный мной калькулятор?
Твои пользователи не должны быть обеспокоены прожорливостью твоей среды разработки. Ты забыл, а чём мы говорим.

Да ну? А на каких оконных менеджерах ты тестировал? fvwm, Xmonad, awesome, kwin, twm, compiz?
Какие из них работают под виндой?

Ладно, фиг с виндой. Как оконный менеджер в принципе может отличить один тип окна от другого, если я создаю окна из кода, а заголовки у окон одного типа могут отличаться ("редактирование объекта 'объект 1'", например)? Я тебе без тестов скажу, что это в принципе невозможно без чтения мыслей разработчика.

Ну можно перехватывать команду развёртывания и смотреть геометрию, после чего разворачивать. А вообще нужность сомнительная.
Если ты будешь менять состояние окна, то это моргание задолбает юзера.

Вариант "это ненужно" не принимается. Это реализовано во множестве приложений.

А если эти формы ещё и постоянно динамически меняются в процессе исполнения? И не просто state disable какой-нибудь, а появляются и исчезают виджеты?
Тогда будет сложнее, но тебе с формами из кода — ещё сложнее, чем мне.

 
 
 
~
Незарегистрирован

Сообщений: 6730

10.01.2014 22:15
Инфо | цитировать | линк
Koshachii писало: Мало актуальной документации на русском
Я бы порекомендовал всем желающим учиться программированию подтянуть английский хотя бы до уровня чтения документации почти без словаря. Чтобы по меткому выражению «не употреблять устаревшее вторсырье».

 
 
 
Рыцарь унылого образа
Фосса
Незарегистрирован
10.01.2014 22:26
цитировать | линк
Никакого Python'а или PHP! Ни в коем случае! Т.к. языки без статической типизации портят программиста.

Ксениуса - не слушать, прыщеблядские Tcl и прочие это экзотика, по которой не найдёшь ни одной вакансии. Плюс они совершенно немейнстримовые (функциональные языки - это свой отдельный мир, зная какой-нибудь там Lisp или OCaml тя не будешь понимать как программировать на распространённых языках).

Могу порекомендовать Java или C#. С вторым начать проще (скачал Visual Studio Express и всё), но это привязка к технологиям Microsoft, первая - работает везде, но начать несколько сложнее. В любом случае очень не повредит начинать изучать программирование, сидя под каким-нибудь сортом линукса.

Есть ещё такая кошернейшая вещь, как Qt, она быстра, кроссплатформенна (твой код будет работать и на винде, и на линуксе без малейших изменений), бесплатна, открыта и можно скачать готовую среду для работы с ней, но это C++.

А вообще - в первую очередь стоит учить не язык, а алгоритмы, принципы проектирования, паттерны и т.п., а язык - вторичен (если это не php).

 
 
 
www.yiff.ru
~
Незарегистрирован

Сообщений: 6730

10.01.2014 22:37
Инфо | цитировать | линк
Фосса писал(а): языки без статической типизации портят программиста
Каким образом?

 
 
 
Рыцарь унылого образа
Фосса
Незарегистрирован
10.01.2014 23:15
цитировать | линк
Таким, что приучают новичка сравнивать строку с числом так, как будто это что-то нормальное. Типа

$yiff = "3";
$yuff = 3;
if ($yiff == $yuff)
{
echo("Suddenly true");
}

Хотя это вот лично мяу PHP ушиблен был. Но вообще - строгая статическая типизация навязывает более правильное программирование.

Типа хочешь double к float привести - так сделай это явно, думая о последствиях.

Мяу, если что, сионист/шарпер/джавист (на старой работе - плюсы и жаба, на новой - шарп) + программирую под МК (ассемблер + си простой).

 
 
 
www.yiff.ru
~
Незарегистрирован

Сообщений: 6730

10.01.2014 23:25
Инфо | цитировать | линк
Фосса писал(а): строгая статическая типизация
Нужна далеко не всегда. Как и явное управление памятью. Именно поэтому в скриптовых «высокоуровневых» языках такие возможности не предусмотрены.

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

 
 
 
Рыцарь унылого образа
Koshachii
лисенок
Сообщений: 907

10.01.2014 23:37
Инфо | цитировать | линк
Аthаri писал: иметь одну технологию выгоднее хотя бы по той причине, что не нужно искать дотнетчиков, разбирающихся в джаве, или джавистов, разбирающихся в дотнете.
Там все прозаичнее. Нанять джавистов со стороны не проблема, заказчик не бедный. Один тока новый сервер (лезвие IBM), лицензии на винду (server 2012) и сиквел (2012) потянут на басурманские денюжки с 5ю нулями, которые не нужно было бы тратить, если все оставить, как есть.
Но у заказчика есть две "свои" прикормленные конторы, писавших весь софт до сих пор строго на VBA, Delphi7 и PHP4 для веба (можно музей открывать :d ). Они собрались че-то поновее осваивать, java не осилили, выбор остановили на .Net, как наиболее похожий к Delphi.
Т.е. этот проект появился на уровне среднего менеджмента заказчика только, чтобы чужих разработчиков не пускать, кроме вот редких исключений, когда совсем никак. o:)
Причем совсем не факт, что сторонние конторы дороже.
И мяф не жалуюсь, работа таки даже интересная, появился повод снова Шилдта перечитать, подзабыл многое. Это только, как пример, что на чем писать решает совсем не техническая простота, превосходство языка/платформы или целесообразность.

 
 
 
Фосса
Незарегистрирован
10.01.2014 23:39
цитировать | линк
Ладно, ОК, мяу выразился экспрессивно и слишком упёрто.

Но, опять-же, мяу считаю, что начинать учиться на скриптовых языках - плохая идея (правда мяу знаю только PHP и shell-скрипты немного).

Имхо всё-же лучше что-нибудь ООП-шно мейнстримовое, будет много литературы, большое сообщество и много подсказок на Stackoverflow.

Вот по мяу как-то жаба и шарп более принуждают писать правильный код.

А после написания пары хеллоуворлдов на жабе/шарпе надо плавно переезжать к паттернам, разбиению на слои, архитектуре, всяким умным словам типа MVC и Dependency Injection и т.п..

Мяу вот в своё время этого очень не хватило и получается, что знаешь синтаксис языка, его библиотеку, но пишешь быдлокод.

 
 
 
www.yiff.ru
Koshachii
лисенок
Сообщений: 907

10.01.2014 23:43
Инфо | цитировать | линк
Фосса писал(а): if ($yiff == $yuff)
Имхо, полезная фича, когда "3"==3.
Можно же еще написать:
if ($yiff === $yuff)
Будет сравнение и по типам.

[Добавлено 10.01.2014 23:45:12]:

Вот по мяу как-то жаба и шарп более принуждают писать правильный код.
Это тот шарп, в котором щас каждая вторая переменная типа var? :d

 
 
 
Фосса
Незарегистрирован
10.01.2014 23:48
цитировать | линк
Не, не надо нам тройного равно. Хотя-бы потому, что можно забыть его поставить.

Каждая вторая переменная типа var - это вот как раз деградация в сторону скриптовых языков. Только IQueryable<Foo>, только хардкор }=

 
 
 
www.yiff.ru
~
Незарегистрирован

Сообщений: 6730

10.01.2014 23:53
Инфо | цитировать | линк
Фосса писал(а): начинать учиться на скриптовых языках - плохая идея
Многие хорошие программисты: как бэкендеры, так и фронтендеры, с которыми мне доводилось работать, не раз сознавались, что постигали азы программирования на том самом Бейсике, с которого началась эта тема.

А я очень люблю на собеседованиях разряжать атмосферу историей о том, что по информатике (с тем самым Бейсиком) мне тройку ставили только чтоб лишний раз не видеть; до 2002 года я пользовался Интернетом по методу секретарши (это когда адрес сайта вбивается через поисковую систему); а первый язык программирования, который я изучил — так ненавидимый всеми PHP, который, несмотря на его недостатки, люблю и использую по сей день.

Главное — чтоб пёрло учиться и узнавать новое. Тогда ученик сам тихой сапой доползет от рисования линий на мониторе до ресурсопожирания и прочих «взрослых» аспектов программирования. При наличие роста, от этого никуда не денешься.

Фосса писал(а): Не, не надо нам тройного равно
В жизни оно пригождается раз в тысячу лет.

 
 
 
Рыцарь унылого образа
Koshachii
лисенок
Сообщений: 907

10.01.2014 23:58
Инфо | цитировать | линк
~ писал(а): так ненавидимый всеми PHP, который, несмотря на его недостатки люблю и использую по сей день.
PHP сейчас очень даже миленький во всех отношениях. И с каждым релизом все лучше. До 5ой версии был мрак. :chair:
После бейсика было очень сложно отучиться использовать goto. :bang:

 
 
 
Фосса
Незарегистрирован
11.01.2014 00:36
цитировать | линк
Мяу сам на бейсике начинал. Львов БК-01, Спектрумы 48й и 128й, потом 486DX4-100 и турбопаскаль 7 и т.п..

PHP был первым "серьёзным" языком, но мяу он как-то ничему хорошему не научил. В смысле мяу так и не узнал о вреде магических констант, о том, как разбивать приложение на малосвязанные части, о том, что такое MVC и т.п.. Точнее, мяу сам до каких-то аналогов (ущербных) этого допирал, но это было не то.

 
 
 
www.yiff.ru
Фосса
Незарегистрирован
11.01.2014 00:38
цитировать | линк
В GOTO нет ничего плохого при разумном его применении. Особенно, если это не GOTO, а rjmp }=
 
 
 
www.yiff.ru
Фосса
Незарегистрирован
11.01.2014 00:47
цитировать | линк
Короче, Раптор, мой тя совет.

Не так важен язык (предлагаемый Python будет ОК, хотя мяу предпочёл-бы Java), как знание алгоритмов и паттернов, умение строить правильную архитектуру, умение избегать антипаттернов и т.п..

Вот погугли про паттерны и антипаттерны.

И да, обзаведись хорошей интегрированной средой разработки (для Java - NetBeans, что для питона - не знаю).

 
 
 
www.yiff.ru
Wise Dragon
Тентакледракон
Сообщений: 7581

11.01.2014 00:51
Инфо | цитировать | линк
Фосса, вот почему ты видел только PHP, а судишь по нему о всех динамических языках? Изучи хотя бы один нормальный язык — а потом и говори.

А о функциональных ты наверное вообще ничего не знаешь, но при этом уже о них что-то заявляешь.

Кстати, ты не учитываешь, что чем более редкие (но продвинутые) языки ты знаешь, тем меньше у тебя будет конкурентов?

А что учиться программированию можно и нужно не только для того чтоб устроиться на работу кодером?

А чтоб быть нормальным программистом, а не быдлокодером нужно знать несколько языков — и не подобных друг-другу, а покрывающих совершенно разные области. Скажем Assembler, C, Python, Factor, OCaml, Prolog и Scheme — если ты знаешь все эти языки, тебе не составит труда освоить любой другой, если таковая нужда возникнет, так как они покрывают большинство возможных парадигм и среди них есть и динамические и статические.

 
 
 
Jabberсвободное общение!
~
Незарегистрирован

Сообщений: 6730

11.01.2014 00:54
Инфо | цитировать | линк
Фосса писал(а): что для питона - не знаю
Пайчарм вроде.

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

11.01.2014 01:14
Инфо | цитировать | линк
Но, опять-же, мяу считаю, что начинать учиться на скриптовых языках - плохая идея (правда мяу знаю только PHP и shell-скрипты немного).
Фосса, у PHP упоротая система типов, более упоротой ни в одном языке не существует. У PHP упоротые операторы сравнения, более упоротых ни в одном языке не существует.

$ php -r 'var_dump(TRUE=="a"); var_dump("a"==0); var_dump(TRUE==0);'
bool(true)
bool(true)
bool(false)

$ php -r 'var_dump(-INF<0); var_dump(0<TRUE); var_dump(-INF<TRUE);'
bool(true)
bool(true)
bool(false)

$ php -r 'var_dump("1e3" == "1000");'
bool(true)

$ php -r 'var_dump("61529519452809720693702583126814" ==
"61529519452809720000000000000000");'
bool(true)


По сути, в этом языке сломано всё. Его уже никогда не исправить. Вот эпическое чтиво: PHP: фрактал плохого дизайна (оригинал).

Но в нормальных скриптовых языках нормальные преобразования типов, нормальные операторы, и вообще всё остальное нормальное. Поэтому из-за одного PHP ставить крест на скриптовых (и вообще динамически типизированных) языках я бы не стал.

Вот погугли про паттерны и антипаттерны.
Есть мнение, что нет ничего страшнее новичка, который только что прочитал про паттерны. f:> Честно, это ужасно. Сначала надо просто покодить и уже естественным путём прийти к этим паттернам.

 
 
 
Koshachii
лисенок
Сообщений: 907

11.01.2014 10:30
Инфо | цитировать | линк
Wise Dragon писал: вот почему ты видел только PHP, а судишь по нему о всех динамических языках? Изучи хотя бы один нормальный язык — а потом и говори.
PHP последних релизов стал конфеткой. С учетом фреймворков для веба вместо java именно его становится разумнее всего использовать, что многие и делают. Не забывая, конечно, про javascript, вместе они сила.

А о функциональных ты наверное вообще ничего не знаешь, но при этом уже о них что-то заявляешь.
Ну, не взлетели они. Может когда-то в будущем они будут на коне, а сейчас это только игрушка для гиков.

Кстати, ты не учитываешь, что чем более редкие (но продвинутые) языки ты знаешь, тем меньше у тебя будет конкурентов?
Конкурентами тут будут гики, которых невероятно дофига на вакансии коих единицы. Другими словами, в реальности все совсем наоборот.

А что учиться программированию можно и нужно не только для того чтоб устроиться на работу кодером?
Для эльфов 80го левела, без семьи, которые не работают и живут тысячи лет все верно. У эльфов много свободного времени. Для обычных людей это весьма утомительное хобби, отнимающее кучу времени, и то лучше выбирать мейнстримовые языки по многим причинам, тот же php/js.

А чтоб быть нормальным программистом, а не быдлокодером нужно знать несколько языков — и не подобных друг-другу, а покрывающих совершенно разные области.
Не бывает программистов знающих только один язык, но начинающему надо начинать с одного языка и английского, которые не менее важен. Остальные языки программирования будут изучаться уже по мере работы.

Скажем Assembler, C, Python, Factor, OCaml, Prolog и Scheme — если ты знаешь все эти языки, тебе не составит труда освоить любой другой, если таковая нужда возникнет, так как они покрывают большинство возможных парадигм и среди них есть и динамические и статические.
Ужась! Зачем новичку, у которого сложности c бейсиком, стока страшных слов?! Оно и профессионалам сейчас не нужно, исключая может быть только С из списка, с его уже весьма узкой нишей, он еще не выпал из мейнстрима.

 
 
 

Форум yiff.ru >> Бейсик и все все всеСтраницы: [<<<][ 1.. | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ..14 ][>>>]
 
Новое сообщение
Ваш ник
Пароль (если вы зарегистрированы)
Вложение
Добавить еще одно поле для файла
Сообщение

[ Смайлики ]
[ Ubb теги ]
Проверочный код
 
 
  © Justin, Dimoniusis and Jar