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

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

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

   Страница 1 из 9
На страницу: 1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
Поиск в этой теме:
Железный канал: «Клуб программистов.»
za4ot
 524 EGP


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

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

"...эта книга ничему вас не научит, если командная строка ОС Unix не станет вашим основным средством повседневной работы с машиной.
Объяснение этому очень простое. Чтобы стать программистом, вам для начала придётся начать писать программы так, чтобы они работали; потом в какой-то момент нужно перейти от этюдов к попыткам извлечь из собственных программ какую-то пользу; затем требуется сделать последний важнейший шаг довести полезность своих программ до такого уровня, чтобы ими начал пользоваться кто-то кроме вас. Написать сколько-нибудь полезную программу, имеющую графический интерфейс, довольно сложно чтобы это сделать, нужно уже быть программистом, но чтобы им стать, вам, как уже было сказано, нужно начать писать полезные программы. Этот заколдованный круг можно разорвать, выбросив из рассмотрения графический интерфейс, но программы, не имеющие такового и при этом полезные, бывают только в ОС Unix, больше нигде."

"...дистрибутивов Linux вполне достаточно. Кстати, можете использовать появление в вашем хозяйстве нужной операционной системы в качестве проверки собственной готовности к дальнейшему: если прошло три-четыре недели, а ничего юниксоиодобного на ваших компьютерах всё ещё нет, можете не обманывать себя: дальнейшие попытки «научиться программировать» вам просто не нужны."

Я так понимаю, по мнению автора, если человек не использует Unix, то он говно и программистом никогда не станет, даже может не пытаться. Интересно, насколько вы согласны с его мнением? И почему настоящие программы без графического интерфейса могут быть только в Unix? Что за такая дикая неприязнь к Виндоус?
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (18:51 08-08-2024), всего редактировалось 1 раз
    Добавлено: 18:40 08-08-2024   
Ritchie
 279 EGP


Рейтинг канала: 1(4)
Репутация: 10
Сообщения: 6572

Зарегистрирован: 15.12.2015
za4ot :
если человек не использует Unix, то он говно
Сектантство.
za4ot :
программы без графического интерфейса могут быть только в Unix
Как давно эта книга писалась? Во времена command.com возможно так и было, из за его ограничений по функционалу.
za4ot :
Что за такая дикая неприязнь к Виндоус?
подозреваю книга писалась на рубеже конец 90х начало нулевых. Тогда у пингвинов было обострение.
    Добавлено: 23:42 08-08-2024   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Ritchie :
Как давно эта книга писалась?

В 2021 году.
_________________
Пираты - наше всё!
    Добавлено: 07:44 09-08-2024   
Ritchie
 279 EGP


Рейтинг канала: 1(4)
Репутация: 10
Сообщения: 6572

Зарегистрирован: 15.12.2015
za4ot :
В 2021 году.
знач пропустил новое обострение у луноходов.
    Добавлено: 08:05 09-08-2024   
Voha
 942 EGP


Модератор
Рейтинг канала: 9(1062)
Репутация: 169
Сообщения: 4977
Откуда: Moscow, Russia
Зарегистрирован: 15.02.2001
za4ot :
Предлагаю тут делиться всем, что касается программирования и косвенно связанными с ним вещами.
Это очень уж косвенно связано с программированием или средней тематикой канала. При этом имеет хороший потенциал уйти во флуд и личностные разборки.
Поэтому заранее прошу быть аккуратнее в обсуждениях.

za4ot :
Я так понимаю, по мнению автора, если человек не использует Unix, то он говно и программистом никогда не станет, даже может не пытаться.
Средний современный "программист" очень мало знает про среду, в которой его код эксплуатируется. И код пишет в каком-нибудь vscode или idea, которые кроссплатформенные. Опять же современное программирование - не про эксплуатацию, а про алгоритмы.
Хорошо это или плохо? Неизвестно, но так вот есть.

Могу сказать, что разработчик, который кроме алгоритмов и основных принципов еще знает про устройство операционных систем, нюансы железа, принципы работы сети, виртуализацию - в среднем в моей окрестности оценен выше и полчает больше, чем условный "олимпиадный" программист-алгоритмист. И пользы приносит тоже больше Улыбка

Но научится писать код можно без привязки к операционной системе, сейчас так и учат в основном.
_________________
Time will show...
    Добавлено: 12:30 09-08-2024   
Криптон
 1011 EGP


Рейтинг канала: 5(116)
Репутация: 164
Сообщения: 2667
Откуда: Москва
Зарегистрирован: 05.04.2008
za4ot :
Интересно, насколько вы согласны с его мнением?
Последние шесть лет на работе пишу серверное ПО под Windows. С мнением того таинственного автора не согласен. Кстати, почему бы не указать автора и название книги? Что в этом секретного?
    Добавлено: 12:47 09-08-2024   
iiiIIIiiIIiIiiII
 320 EGP


Рейтинг канала: 1(1)
Репутация: 14
Сообщения: 358
Откуда: Планета номер 13 в Тентуре
Зарегистрирован: 25.05.2020
za4ot :
если человек не использует Unix, то он говно и программистом никогда не станет,


Нет, конечно! Ой, не могу!..

Но линукс удобен, чертовски удобен. Всё настраивается.

Я пару лет назад попытался пересесть на мак - и не смог. Красиво, но управляемость хуже чем у винды.

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


Да, тоже интересно, что это за баклан такие идеи заливает. Ой, не могу!..
_________________
И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак.

Последний раз редактировалось: iiiIIIiiIIiIiiII (13:09 09-08-2024), всего редактировалось 1 раз
    Добавлено: 13:09 09-08-2024   
za4ot
 524 EGP


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

Вот тут можно почитать и книжку эту скачать бесплатно.
https://habr.com/ru/news/545142/
_________________
Пираты - наше всё!
    Добавлено: 17:49 09-08-2024   
iiiIIIiiIIiIiiII
 320 EGP


Рейтинг канала: 1(1)
Репутация: 14
Сообщения: 358
Откуда: Планета номер 13 в Тентуре
Зарегистрирован: 25.05.2020
Короче, красноглазый понял что он красноглазый.

В книгах множество воды. Хорошо, что они бесплатные.
_________________
И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак.
    Добавлено: 19:09 09-08-2024   
Ritchie
 279 EGP


Рейтинг канала: 1(4)
Репутация: 10
Сообщения: 6572

Зарегистрирован: 15.12.2015
iiiIIIiiIIiIiiII :
Но линукс удобен, чертовски удобен. Всё настраивается.
только вот настраивается через одно место копанием в тысячах конфигах. Да и софта нормального кот наплакал. Пусть остаются там, где им и место - на сетевых железках, суперкомпьютерах и тд. А на десктопе им делать нечего.
iiiIIIiiIIiIiiII :
Короче, красноглазый понял что он красноглазый.
вообще не понятно, откуда у луноходов это прозелитизм? Нравиться пользуйся, обязательно других тащить в свою секту? Гы-гы
    Добавлено: 20:32 09-08-2024   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Ну эта книга меня кое-чему научила. Почитав как Столяров лихо запускает в командной строке Linux программы на Паскале с параметрами, я потратив целый день, научился такое же делать в командной строке Windows. До этого я и не знал, что так можно.
Ну и Linux это точно не мой выбор. Как бы рассматриваю программирование с той точки зрения, что оно помогает создать инструмент для решения конкретной задачи если такового нет готового в системе. Тем более ЯП позволяют сейчас компилировать код практически под любую ОС. Какой пользуется человек под такую пусть и пишет.
Например, купил себе читалку, а книги все в сети с опечатками и прочим непотребством, поэтому читать их было невозможно нормально. Но я-то учил Перл - вот он и пригодился. Написал скрипт, который исправляет в книжках опечатки и вообще приводит их в удобоваримое состояние для моей читалки. Если б я пользовался Linux, то и там бы я смог написать такой же самый скрипт. Поэтому все холивары по поводу выбора ОС для меня не имеют смысла, потому как я пользуюсь только одной и писать соответственно буду только под нее. Просто удивило, что человек настолько топит только за одно семейство ОС.

_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (21:02 09-08-2024), всего редактировалось 2 раз(а)
    Добавлено: 20:44 09-08-2024   
Voha
 942 EGP


Модератор
Рейтинг канала: 9(1062)
Репутация: 169
Сообщения: 4977
Откуда: Moscow, Russia
Зарегистрирован: 15.02.2001
za4ot :
Криптон :
Кстати, почему бы не указать автора и название книги?

Вот тут можно почитать и книжку эту скачать бесплатно.
https://habr.com/ru/news/545142/
Потыкал в несколько рандомных мест, где что-то понимаю. Это переиздание, первое издание было в 2017. В качестве научпопа сойдет, в качестве движения в сторону промышленного программирования оно уже в 17-м году устарело. Например уважаемый автор пишет про SELECT(), не упоминая его родовых травм, и не пишет рядом про EPOLL(). Концентрация устаревших концептов в книжке довольно высокая...
_________________
Time will show...
    Добавлено: 11:07 10-08-2024   
iiiIIIiiIIiIiiII
 320 EGP


Рейтинг канала: 1(1)
Репутация: 14
Сообщения: 358
Откуда: Планета номер 13 в Тентуре
Зарегистрирован: 25.05.2020
Ritchie :
А на десктопе им делать нечего.


Не буду говорить что ты неправ, но я с 2017 года потерял какое-либо желание возвращаться в Windows.
_________________
И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак.
    Добавлено: 15:34 11-08-2024   
za4ot
 524 EGP


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

Скрипт должен открывать файл, если в файле находит строку "windows-1251", то перекодировать весь файл в UTF-8, вносить какие-то изменения и результат записывать в другой файл.

Как бы если разделить на 2 скрипта, то работает. Первый скрипт перекодирует и перезаписывает файл, а второй вносит изменения и сохраняет их в другом файле.

Вот так работает:

 Первый скрипт   (кликните здесь для просмотра)
Код:
use 5.010;
use strict;
use warnings;
use Encode;

# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);

# Если находим в файле "windows-1251", то перекодируем его в UTF-8 и перезаписываем файл.
if ($string =~ /windows-1251/) {
   my $string = encode("UTF-8", decode("cp1251", $string));
   open(my $in, ">", "input.fb2") || die("Error open read file\n");
   print $in $string;
   close($in);
}

Первый скрипт выдает нам перекодированный файл в UTF-8

 Второй скрипт   (кликните здесь для просмотра)
Код:
use 5.010;
use strict;
use warnings;

# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);

# Делаем замены разнообразные.   
$string =~ s/"(.*?)"/«$1»/g; #

# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out);

Второй скрипт вносит изменения и записывает их в другой файл тоже в UTF-8.




А вот такой вариант не работает. Конечный файл с внесенными изменениями всё равно остается в кодировке ср1251, хотя должен перкодироваться в UTF-8.

 Объединенный скрипт   (кликните здесь для просмотра)
Код:
use 5.010;
use strict;
use warnings;
use Encode;

# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);

# Если находим в файле "windows-1251", то перекодируем его в UTF-8.
if ($string =~ /windows-1251/) {
   my $string = encode("UTF-8", decode("cp1251", $string));
}

# Делаем замены разнообразные.   
$string =~ s/"(.*?)"/«$1»/g; #

# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out);


Я, конечно, могу в notepad++ кодировку в 2 клика поменять, но так не интересно.
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (11:42 12-08-2024), всего редактировалось 7 раз(а)
    Добавлено: 11:32 12-08-2024   
Voha
 942 EGP


Модератор
Рейтинг канала: 9(1062)
Репутация: 169
Сообщения: 4977
Откуда: Moscow, Russia
Зарегистрирован: 15.02.2001
Hint - область видимости переменных...
_________________
Time will show...
    Добавлено: 12:25 13-08-2024   
za4ot
 524 EGP


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

Ура! Заработало. Спасибо. Никогда бы сам не догадался бы.

 Исправленный скрипт   (кликните здесь для просмотра)
Код:

use 5.010;
use strict;
use warnings;
use Encode;

# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);

# Если находим в файле "windows-1251", то перекодируем его в UTF-8.
if ($string =~ /windows-1251/) {
# У меня было так. По факту объявляю новую переменную $string с тем же именем.
#  my $string = encode("UTF-8", decode("cp1251", $string));
# А нужно так, чтоб использовалась та же переменная, которая объявлена в начале файла.
   $string = encode("UTF-8", decode("cp1251", $string));
}

# Делаем замены разнообразные.   
$string =~ s/"(.*?)"/«$1»/g; #

# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out);

Осталось прикрутить пакетную обработку файлов и можно всерьез приводить свою электронную библиотеку в порядок. Улыбка
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (17:56 13-08-2024), всего редактировалось 4 раз(а)
    Добавлено: 17:46 13-08-2024   
iiiIIIiiIIiIiiII
 320 EGP


Рейтинг канала: 1(1)
Репутация: 14
Сообщения: 358
Откуда: Планета номер 13 в Тентуре
Зарегистрирован: 25.05.2020
Вот так человек узнаёт, что он - программист. Гы-гы
_________________
И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак.
    Добавлено: 21:46 14-08-2024   
AnrDaemon
 864 EGP


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

Зарегистрирован: 17.10.2004
za4ot :
почему настоящие программы без графического интерфейса могут быть только в Unix

Потому что автор книги тупо идиот, и редактор не умнее него.
_________________
Люблю свободный полёт... :)
    Добавлено: 09:03 11-09-2024   
Grebomet
 1466 EGP


Модератор
Рейтинг канала: 8(759)
Репутация: 261
Сообщения: 4787
Откуда: Питербурх
Зарегистрирован: 06.01.2003
za4ot :
use 5.010;
use strict;
use warnings;
use Encode;

Ну strict - понятно, warnings - тоже понятно. А что дает use 5.010?

za4ot :
Первый скрипт выдает нам перекодированный файл в UTF-8

И испорченную fb2-книжку, т.к. читалка будет ее открывать как закодированную в win1251 и вместо нормального текста мы увидим нормального текста.
Строчку с кодировкой тоже надо поменять на UTF-8.
Причем не просто название кодировки где-то в тексте, а именно тег xml, задающий кодировку документа. А то сейчас у тебя любой документ, содержащий строчку windows-1251, принудительно перекодируется в UTF-8.
И кстати, названия кодировок регистронезависимые.
_________________
Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
    Добавлено: 12:24 11-09-2024   
za4ot
 524 EGP


Рейтинг канала: 5(130)
Репутация: 17
Сообщения: 3549
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Grebomet :
А что дает use 5.010?

Это просто указание версии Perl.
Grebomet :
Строчку с кодировкой тоже надо поменять на UTF-8.
Причем не просто название кодировки где-то в тексте, а именно тег xml, задающий кодировку документа.

Там где нужно там всё меняется, просто в листинге это не отображено. Тут только часть скрипта, с которой проблема была.
Grebomet :
И кстати, названия кодировок регистронезависимые.

Не факт. Где-то видел в первоисточниках что различия есть, но это не точно.
Grebomet :
И испорченную fb2-книжку, т.к. читалка будет ее открывать как закодированную в win1251 и вместо нормального текста мы увидим нормального текста.

Сейчас всё четко работает. С кодировками я вопрос уже решил окончательно, но и без этого есть еще над чем работать.
_________________
Пираты - наше всё!
    Добавлено: 17:49 11-09-2024   
Железный канал: «Клуб программистов.»
На страницу: 1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Я смотрю, анатидаефобией вы не страдаете. (donald - флудерам в Канале Сайта)

  » Клуб программистов. | страница 1
Каналы: Новости | 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