LINUX.ORG.RU

Мои проги на PureBasic

 


4

5

Если у кого есть желание ознакомится можете скачать архив прог (53Мб), в комплекте общая справка по прогам в CHM со скриншотами. Можно посмотреть её в онлайн

В комплекте исходники и можно их скомпилировать. Для Linux собраны 3 варианта пакетов deb (Mint-x64 и MX-x86), rpm (Fedora), zst (Arch), и исполняемые для Raspberry-x32, и есть отдельно архив для Андроида Можете посмотреть видео о PureBasic на моём ютуб канале


Ответ на: комментарий от Shushundr

Где и в какой момент я обязан согласиться с эулой, запрещающей реверсить файл в формате chm?

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

anonymous
()
Ответ на: комментарий от u-235

Статья 1280

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

И это ещё в том случае, если лицензия была получена. А если нет?

Shushundr ★★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

И это ещё в том случае, если лицензия была получена. А если нет?

В случае форматов файла, в том числе chm, лицензия на что конкретно должна была быть получена? И о декомпиляции какой конкретно программы в этом случае ты говоришь?

anonymous
()
Ответ на: комментарий от Psilocybe

Это проблемы не-Си программистов. Си-программистам всё понятно и = с == они не путают. А возможность присваивать внутри if - прекрасна и даёт языку дополнительную «выразительность», для тех, кто не страдает фобиями на этот счёт. Что же касается опечаток, то так можно и x вместо y где-нить написать и на этом основании тоже что-нить обвинить.

firkax ★★★★★
()
Ответ на: комментарий от hobbit

Это безусловно справедливо для классического бейсика с номерами строк, GOTO и GOSUB…но именно тогда я сделал вывод «пора валить». :)

Скажем так, FORTRAN, идеями которого питались при создании BASIC, в то время выглядел примерно также и даже страшнее с его форматом записи программы, пошедшем от перфокарт. Потом по этому поводу возникла такая пословица у программистов: «На любом языке программирования можно писать как на FORTRAN».

MichIs
()
Ответ на: комментарий от MichIs

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

Многие тут расматривают ситуацию только в читабельности кода. Если использовать прямые описывающие действия функции, то выглядит читабельно, но проигрывают по скорости с тысячекиатным разрывом. Я всегда проверяю конструкцию на скорость из за чего чаще стал использовать доступ по указателю.

AZJIO
() автор топика
Ответ на: комментарий от Psilocybe

Отвечу примером из K&R:

while ((c = getchar()) != EOF) {
  putchar(c);
}

Есть ли тут ошибка? Ответ: если не запутался в трëх соснах скобках, то так писать можно. Читаемость, конечно, так себе, как раз-таки из-за обилия скобок.

А твоëм примере это может быть и ошибкой, если нужно не получить значение из функции в переменную, а потом проверить условие на ненулевое значение переменной, а именно сравнить значение переменной с результатом работы функции.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)

И носило меня, как осенний листок.
Я менял языки, менял города.
Надышался я пылью заморских ЯП,
Где не пахнут цветы, не светила луна.
И выбрал PicBasic и Rust.

anonymous
()
Ответ на: комментарий от Psilocybe

Определи, есть ли тут ошибка:

x = y + 5;

А вдруг тут должно было быть не x а z? А вдруг не y а j? а вдруг не 5 а 10? А вдруг не плюс а минус?

Твой вопрос из той же серии. Разумеется, без контекста оценить правильность одной строчки невозможно.

firkax ★★★★★
()
Ответ на: комментарий от yars068

Читаемость, конечно, так себе, как раз-таки из-за обилия скобок.

Читаемость улучшается так:

while((c=getchar()) != EOF) {
Аргументы != легко выделяются пробелами, а левый аргумент уже читается в соответствии с просто синтаксисом. Но если больше двух-трёх уровней вложенности то становится сложнее, да. Можно ещё переводы строки задействовать в некоторых (не всегда) случаях.

firkax ★★★★★
()

Набор утилит интересный. Вспоминая себя, тоже писал подобное на C++, Pascal, Delphi, asm. Многое сохранилось.

З.Ы. Консольный Расчет Трансформатора на Turbo Pascal писал. )

TechnoMag ★★
()
Ответ на: комментарий от anonymous

Неплохо если бы в C и C++ запретили использовать в if «=».

Компиляторы нынче умные пошли, и на такой подозрительный код кидают ошибку (warning). Даже с рекомендацией как ее исправить. И даже на вот такой код

if(x==1)x=2; y=3; z=4;
COKPOWEHEU
()
Ответ на: комментарий от firkax

В Python вообще любят такие вещи:

print(*sorted(set(map(int,input().split())).difference(set(map(int,input().split())))))

У них еще и «моржовый оператор» есть для таких случаев. Вот, уроды. А потом, без «unit test» никуда

MichIs
()
Ответ на: комментарий от MichIs

Правильно любят, если оно на самом деле так. Ещё бы set(map(…)) из твоего примера вынести отдельно(если язык позволяет) - и совсем хорошо было бы.

anonymous
()
Ответ на: комментарий от MichIs

Наговор. Ни в одной серьёзной кодовой базе подобного не видел. Не говоря уж о том, что map давно считается устаревшим и вместо него предлагается использовать более читаемые list comprehensions.

Я бы за подобный код бил линейкой по рукам, да и по сути подобное можно написать на практически любом языке.

Chiffchaff
()
Ответ на: комментарий от COKPOWEHEU

Компиляторы нынче умные пошли, и на такой подозрительный код кидают ошибку (warning).

Лучше бы они отпечатки пальцев программистов снимали и плохим говорили - «Ты кто такой? Досвидание.».

anonymous
()