Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Вопросница #2 | страница 84
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 84 из 121
На страницу: Пред.  1, 2, 3 ... 83, 84, 85 ... 119, 120, 121  След.    Перейти:   Все страницы
Поиск в этой теме:
Железный канал: «Вопросница #2»
Grebomet
 1466 EGP


Модератор
Рейтинг канала: 8(759)
Репутация: 261
Сообщения: 4787
Откуда: Питербурх
Зарегистрирован: 06.01.2003
BlackCat :
И я вот не вижу связи скобочек и говнокода, ну вообще никакой.

Связь очевидная: имея скобочки, некоторые говнокодеры впихивают в одну строку невпихуемое (т.е. не связанное по смыслу), благо синтаксис это позволяет.
Замена скобочек отступами фактически запрещает такие вещи (ну, почти). Эффективность сего приема - под вопросом. По народным поверьям, приучает неофитов писать структурированный код.

BlackCat :
Говнокод можно писать абсолютно на чём угодно. И на питоне его написано очень и очень много. Очень даже может быть, что намного больше, чем на перле.

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

BlackCat :
А питон же позиционируется, как "простой и лёгкий язык для всех" со всеми вытекающими...

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

Diff :
Есть еще ниша скриптов на 50 строк, в которую баш лучше не тащить. Учитывая что в 90% случаев это задачи что-то распарсить - перлу тут конкурентов нет.

Это и есть, фактически, узкая перловая ниша. Улыбка
Раньше на нем еще CGI-скрипты писали, но уже давно не.
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 20:27 17-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
Grebomet :
Раньше на нем еще CGI-скрипты писали, но уже давно не.

Вот вы будете смеяццо - только час назад назад закончил скрипт выдающий по номеру геррит-тикета набор тестов покрывающих затронутый код и положил в cgi-bin Хы....
_________________
Конец света в конце тоннеля
    Добавлено: 21:10 17-03-2016   
BlackCat
 200 EGP


Рейтинг канала: 3(44)
Репутация: 18
Сообщения: 2193
Откуда: г. Минск, Республика Беларусь
Зарегистрирован: 28.11.2006
Grebomet :
Связь очевидная: имея скобочки, некоторые говнокодеры впихивают в одну строку невпихуемое (т.е. не связанное по смыслу), благо синтаксис это позволяет.

Замена скобочек отступами фактически запрещает такие вещи (ну, почти).

Это каким же волшебным образом, позвольте? Вау!

А структурировать код я своих студентов приучаю на первых же лабораторных. Ибо нечитаемая дрянь получается и я просто отказываюсь помогать им, пока они не приведут код в порядок. Максимум 2 лабораторки и они код уже структурируют. Улыбка А уж если пойдут работать, так там их быстро СТП приучит. Улыбка

Grebomet :
Выдаешь желаемое за действительное.

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

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

Тоже самое можно и про перл сказать. Особенно с учётом того, что на нём не каждый решиться программить. Хотя язык довольно простой и понятный, имхо. Только регулярки его портят. Но без них не так лаконично получается.
_________________
Я циник, эгоист, мизантроп, социофоб, пофигист, скептик! Одним словом - Няшка. :)
    Добавлено: 22:20 17-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
BlackCat :
я своих студентов приучаю

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

BlackCat :
Только регулярки его портят

Без них в нем смысла нет чуть более чем совсем.

BlackCat :
простой и понятный

Расскажи про функцию bless так, чтобы za4ot понял и постиг.

добавлено спустя 10 минут:
и в чем глубинный смысл единички в конце каждого модуля.
_________________
Конец света в конце тоннеля

Последний раз редактировалось: Diff (22:56 17-03-2016), всего редактировалось 1 раз
    Добавлено: 22:56 17-03-2016   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Diff :
Расскажи про функцию bless так, чтобы za4ot понял и постиг.

Мне бы Tk к DWIMPerl прикрутить, а вы сразу классы, объекты, методы. Эх, буду писать консольные программы. Хы...

добавлено спустя 2 минуты:
Пока Убунту не поставлю. Улыбка
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (23:43 17-03-2016), всего редактировалось 1 раз
    Добавлено: 23:43 17-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
za4ot :
Tk

Pentium II, Ельцин, спирт "Рояль", бакс по шесть рублей.
_________________
Конец света в конце тоннеля
    Добавлено: 23:47 17-03-2016   
BlackCat
 200 EGP


Рейтинг канала: 3(44)
Репутация: 18
Сообщения: 2193
Откуда: г. Минск, Республика Беларусь
Зарегистрирован: 28.11.2006
Diff :
Ну так обучать стоит денег. А мечта рынка - забесплатно получить много говнокодеров которые будут писать структурированный код. Подход Го на который я ругался выше - следующуя ступень этой эволюции.

Ну это уже глобальная структурная беда всего мира. И это касается не только программинга. Я, лично, вижу только одно глобальное решение - стереть человечество с лица Земли. Улыбка

Diff :
Без них в нем смысла нет чуть более чем совсем.

Не скажите. Скрипты для люниха получаются вполне себе кошерными и без регулярок. Хотя не буду отрицать, что с ними лаконичнее и, зачастую, проще. Но мне доводилось пользовать регулярки и в других языках. Если они уместны и облегчают жизнь, то не важно - какой язык.
Лирическое отступление: Мне вот очень понравилось в перле работать с SNMP. А потом данные в шаблон html засовывать. Быстро, просто, удобно.

Diff :
Расскажи про функцию bless так, чтобы za4ot понял и постиг.

Це ж ООП. Тьфу на вас, нечистая сила. Улыбка
Нет, я могу ООП и на асме реализовать, но зачем? Вау!
 Cкрытый текст   (кликните здесь для просмотра)
Если просто и грубо - bless позволяет любую функцию (а точнее хэш её переменных) превратить в класс. И даже функцию, использующую bless-нутый класс позволяется превратить... тоже в класс. Таким образом от функций программист на перле ненавязчиво и просто переезжает на объекты. Однако при этом остаётся возможность пользовать новообразованные классы как простые функции.
По сути своей - костыль перехода от функционального программирования к богомерзкому ООПу.


Diff :
и в чем глубинный смысл единички в конце каждого модуля.

Вы про
Код:
exit 1;
?
Или его сокращённую запись, где оставляется только одна цифирка с точкой с запятой? Так это код выхода из скрипта. Он необязателен в таком применении, кстати. Но желателен, ибо позволяет точно определить время окончания работы скрипта. Что крайне полезно при запуске скриптом скрипта.
А вообще обычно коды выхода задаются разные. Гляньте скрипты того же nagios'а - станет понятнее. Там разные коды выхода сигнализируют о разных состояниях отработавшего скрипта. Т.е. отработал он с ошибкой, варнингом или нормально. Это тоже удобно - быстро (реально - очень-очень быстро) прочитать состояние скрипта и в зависимости от этого уже что-то _начать_ делать (например вызвать другой скрипт). И уже потом только можно получить безразмерную простыню данных, которые должен выплюнуть скрипт. Как мне кажется - это наследие медленного интернета. Улыбка

добавлено спустя 59 секунд:


za4ot :
Мне бы Tk к DWIMPerl прикрутить

Ммм, а точно нужен именно Tk ?
_________________
Я циник, эгоист, мизантроп, социофоб, пофигист, скептик! Одним словом - Няшка. :)

Последний раз редактировалось: BlackCat (00:02 18-03-2016), всего редактировалось 1 раз
    Добавлено: 00:02 18-03-2016   
бухой джедай
 183 EGP


Рейтинг канала: 4(87)
Репутация: 70
Сообщения: 7906 Предупреждений: 1
Откуда: Одесса:)
Зарегистрирован: 08.09.2007
Diff :
Я это немного потыкал палочкой. Питоновскую моду держать программиста за говно он поднял на новую высоту. Неотключаемые даже на время отладки ошибки Declared and never used - это лютый пц и издевательство над здравым смыслом. "Вы законченное быдло и общаться с вами можно исключительно пи$дюлями" - примерно таков посыл этого замечательного языка.
Решил что погодю на нем что-то делать.


объявление приватности публичности регистром значит понравилось ?
или интерфейсность по наличию методов например ...

добавлено спустя 1 минуту:
Diff :
Подход Го на который я ругался выше - следующуя ступень этой эволюции.


а его гуглочи для этого и придумали чтоб брать рукозадых и ультимативно ставить в позу ...
_________________
Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...

Последний раз редактировалось: бухой джедай (00:07 18-03-2016), всего редактировалось 1 раз
    Добавлено: 00:07 18-03-2016   
Grebomet
 1466 EGP


Модератор
Рейтинг канала: 8(759)
Репутация: 261
Сообщения: 4787
Откуда: Питербурх
Зарегистрирован: 06.01.2003
BlackCat :
Или его сокращённую запись, где оставляется только одна цифирка с точкой с запятой? Так это код выхода из скрипта.

Боюся, Дифф про модули и магическую строчку "1;" в конце каждого перлового модуля.
А если в модуль вставить exit 1, то благодарные пользователи быстро прибегут к автору с вилами и лопатами - делать массаж лица.

BlackCat :
Ммм, а точно нужен именно Tk ?

В перле других портабибельных окошек нету.
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 00:07 18-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
Если вы пишете на перле и вам нужны окошки - 100% вы что-то делаете не так.
_________________
Конец света в конце тоннеля
    Добавлено: 00:32 18-03-2016   
BlackCat
 200 EGP


Рейтинг канала: 3(44)
Репутация: 18
Сообщения: 2193
Откуда: г. Минск, Республика Беларусь
Зарегистрирован: 28.11.2006
Grebomet :
Боюся, Дифф про модули и магическую строчку "1;" в конце каждого перлового модуля.

Так то ж те же яйца, только вид сбоку. Улыбка

Grebomet :
В перле других портабибельных окошек нету.

А, точно, о перле ж речь. А меня уже на питон переклинило, звиняйте.

добавлено спустя 37 секунд:
Diff :
Если вы пишете на перле и вам нужны окошки - 100% вы что-то делаете не так.

Согласен. Ncurses наше всё. Улыбка
_________________
Я циник, эгоист, мизантроп, социофоб, пофигист, скептик! Одним словом - Няшка. :)

Последний раз редактировалось: BlackCat (00:35 18-03-2016), всего редактировалось 1 раз
    Добавлено: 00:35 18-03-2016   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Diff :
Если вы пишете на перле и вам нужны окошки - 100% вы что-то делаете не так.

Или пишите что-то не то, что обычно пишут на перле. Хы...
_________________
Пираты - наше всё!
    Добавлено: 00:55 18-03-2016   
AnrDaemon
 864 EGP


Модератор
Рейтинг канала: 8(796)
Репутация: 37
Сообщения: 12322

Зарегистрирован: 17.10.2004
Diff :
примерно таков посыл этого замечательного языка.

Таки чего вы ожидали от гугла?…

добавлено спустя 16 минут:
Grebomet :
BlackCat :
И я вот не вижу связи скобочек и говнокода, ну вообще никакой.

Связь очевидная: имея скобочки, некоторые говнокодеры впихивают в одну строку невпихуемое (т.е. не связанное по смыслу), благо синтаксис это позволяет.
Замена скобочек отступами фактически запрещает такие вещи (ну, почти). Эффективность сего приема - под вопросом. По народным поверьям, приучает неофитов писать структурированный код.

А так же задаёт предпосылки для увлекательной игры "угадай таб или два пробела"…
(Ref: YAML)
Структурированный код получается, когда в коде есть структура, а не когда отступы лесенкой.

P.S.
"require": {"php-64bit": "^7"}
_________________
Люблю свободный полёт... :)

Последний раз редактировалось: AnrDaemon (07:14 18-03-2016), всего редактировалось 1 раз
    Добавлено: 07:14 18-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
BlackCat :
мне доводилось пользовать регулярки и в других языках.

Угу.
Код:

pattern.create()
pattern.compile()
pattern.match()

вместо /$pattern/
Очень вдохновляет.

BlackCat :
могу ООП и на асме реализовать, но зачем?

Затем что модули делающие перл претендующим на универсальность - объектные. С волками жить - по-волчьи и питаться.

добавлено спустя 29 минут:
AnrDaemon :
Таки чего вы ожидали от гугла?

Честно говоря, чего-то более вменяемого. Хотя мне как-то пришлось залезть в код андроида, после чего кое-какие иллюзии могли бы и пропасть.
Искал как поменять IP на котором андроид поднимает хотспот, в итоге нашел чудесное
Код:

ifcg.setLinkAddress(new LinkAddress(
NetworkUtils.numericToInetAddress("192.168.43.1"), 24));
ifcg.setInterfaceUp();

_________________
Конец света в конце тоннеля

Последний раз редактировалось: Diff (13:04 18-03-2016), всего редактировалось 1 раз
    Добавлено: 13:04 18-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
Задачка.
Имеется матрица MxN из единиц и нулей. Типа такой.



Надо удалить из нее максимальное количество строк так, чтобы не увеличить количество нулевых столбцов.
Что-то я не соображу не только с какой стороны к этому подойти, но и куда постить - сюда или в вопросы по математике.
Количество строк - полторы тысячи, столбцов - полтора миллиона.
_________________
Конец света в конце тоннеля
    Добавлено: 20:50 18-03-2016   
AnrDaemon
 864 EGP


Модератор
Рейтинг канала: 8(796)
Репутация: 37
Сообщения: 12322

Зарегистрирован: 17.10.2004
Надо удалять строки так, чтобы в каждом столбце оставалось минимум по одной единице.
_________________
Люблю свободный полёт... :)
    Добавлено: 20:53 18-03-2016   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Diff :
Надо удалить из нее максимальное количество строк так, чтобы не увеличить количество нулевых столбцов.

Фигли тут думать. Считаешь количество нулевых столбцов (я полагаю где все значения равны 0), удаляешь строку, считаешь снова, если количество увеличилось, то восстанавливаешь строку на место и удаляешь следующую. Так перебираешь все строки. Элементарно. Улыбка

Последний раз редактировалось: za4ot (20:58 18-03-2016), всего редактировалось 1 раз
    Добавлено: 20:58 18-03-2016   
Diff
 708 EGP


Модератор
Рейтинг канала: 8(861)
Репутация: 44
Сообщения: 4179
Откуда: Сферическая Земля в вакууме.
Зарегистрирован: 04.07.2003
AnrDaemon :
Надо удалять строки так, чтобы в каждом столбце оставалось минимум по одной единице.

Это определение ненулевого столбца Улыбка.

za4ot :
Фигли тут думать.

Увы, думать надо. Представь что первая строка вся из единиц и достаточно было бы оставить ее одну. А ты ее уже удалил на первом шаге и остался с тысячей неперекрывающихся строк.
_________________
Конец света в конце тоннеля
    Добавлено: 21:03 18-03-2016   
RXL
 159 EGP


Репутация: 23
Сообщения: 678
Откуда: Russia/Moscow
Зарегистрирован: 27.05.2007
1. Подсчитать количество единиц в каждой строке и отсортировать строки по убыванию.
2. temp = row[0]
3. for n in 1 .. temp.length - 1:
3.1. Если побитный AND row[n] с инверсным значением temp равно нулю, строку можно выкинуть.
3.2. temp = temp | row[n]

Возможна оптимизация п.1: найдя самую единичистую строку вычислить с ней значение из п.3.1 для каждой строки и это уже использовать как ключ сортировки.
_________________
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Последний раз редактировалось: RXL (21:08 18-03-2016), всего редактировалось 2 раз(а)
    Добавлено: 21:03 18-03-2016   
Minx
 1011 EGP


Модератор
Рейтинг канала: 2(19)
Репутация: 139
Сообщения: 10548
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Diff :
Что-то я не соображу не только с какой стороны к этому подойти, но и куда постить - сюда или в вопросы по математике.

Явно вопрос по программированию, что правда, не мешает его отнести к дискретной математике (;

В лоб решается задача рекурсивно.

Т.е. функция rec имеет на вход один параметр - твой массив строк. Возвращает число N - кол-во удаленных столбцов.

Код:
rec( array )
{
  max_result <- 0
  перебрать все строки (i)
  {
    если можно удалить строку (i), то
    {
      удалить её
      array_cut <- array без строки i

      и запустить рекурсию для подзадачи
      result <- rec( array_out ) + 1

      max_result <- max ( max_result, result )
  }
  return max_result
}

main()
{
  result <- rec( array )
}


Работать будет наверняка, но скорее всего долго. Поэтому в ход идут эвристики обрезания и ускорения. Например, информацию о "если можно удалить строку (i)" можно посчитать один раз для всех подзадач и передавать ниже. Или, сразу отсекать одинаковые строки. Или, отсекать если уже не может быть получен результат выше max_result. Или, грохнуть столбцы с одинаковыми числами. И т.д.

В общем случае перебор очень большой (1500!) и для его сокращения (если хочется самого лучшего ответа) нужно оптимизировать исходя из характеристик данных.
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (21:23 18-03-2016), всего редактировалось 2 раз(а)
    Добавлено: 21:12 18-03-2016   
Железный канал: «Вопросница #2»
На страницу: Пред.  1, 2, 3 ... 83, 84, 85 ... 119, 120, 121  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Я вообще никто и звать меня никак! (Viking)

  » Вопросница #2 | страница 84
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18