@poopoo

Тег програмування в блоге poopoo

poopoo

Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript and Java comparison https://raid6.com.au/~onlyjob/posts/arena/

Python 3 використовує більше оперативної памʼяті ніж Python 2. Tcl таке собі. Perl 5 і С краще всіх. Java — катастрофа тільки дурники пишуть на ній програми.

What about .NET ?
.NET (dot net) not so portable so it doesn't satisfy criteria for choosing languages. Because it has so much to do with Windows and Microsoft I see no reason for considering dot Net disregarding of its features or performance. Quoting Oktal: "I think Microsoft named .Net so it wouldn't show up in a Unix directory listing."
Dot Net's license is not free which raises an ethical issue as well. There are no reasons to work with non-free language whatsoever. As a matter of fact proprietary nature is a strong argument against dot NET.

poopoo

З книжки „Tcl and the Tk Toolkit (2nd Edition)“, John K. Ousterhout & Ken Jones:

…Tcl parser doesn’t apply any meaning to the words of a command while it parses them. All of the preceding meanings are applied by
individual command procedures, not by the Tcl parser. This approach is similar to that of most shell languages but different from most programming languages. For example, consider the following C program code:

x = 4;
y = x+10;

In the first statement C stores the integer value 4 in variable x. In the second statement C evaluates the expression x+10 , fetching the value of variable x and adding 10 , and stores the result in variable y . At the end of execution, y has the integer value 14 . If you want to use a literal string in C without evaluation, you must enclose it in quotes. Now consider a similar looking program written in Tcl:

set x 4
set y x+10

The first command assigns the string 4 to variable x. The value of the variable need not have any particular form. The second command simply takes the string x+10 and stores it as the new value for y. At the end of the script, y has the string value x+10, not the integer value 14. In Tcl, if you want evaluation you must ask for it explicitly:

set x 4
set y [expr $x+10]

Evaluation is requested twice in the second command. First, the second word of the command is enclosed in brackets, which tells the Tcl parser to evaluate the characters between the brackets as a Tcl script and use the result as the value of the word. Second, a dollar sign has been placed before x. When Tcl parses the expr command, it substitutes the value of variable x for the $x. If the dollar sign were omitted, expr ’s argument would contain the string x, resulting in a syntax error. At the end of the script, y has the string value 14.

Виглдаяє цікаво, але незрозуміло як до такого хтось міг додуматися, нащо так писати і в чому смисл.

poopoo

Згадався скоріш за все нині покійний знайомий який майже не знаючи програмування на пару зі мною намагався заробляти web'опрограмуванням. І йому це навіть часом вдавалося. Ціную його завзаття та шкодую що так мало йому допомагав та дещо зневажливо ставився до його ініціатив та до нього самого. Шкодую що не розділяв його ентузіазму і оптимізму.

poopoo

В openSUSE всілякі там Yast переписали на Ruby. Віконечно для встановлення запакетованої програмки через фірмовий One click install займає 131 Міб оперативки. Під час встановлення проце займає близько 200.

poopoo

Вирішив спробувати Open litespeed (https://openlitespeed.org) в поєднанні з Ruby через LSAPI (https://openlitespeed.org/k...y-apps-with-lsapi/). Наскільки ж з PHP простіше.

poopoo

Eclipse IDE доволі жахлива програма. Не знаю чи сама по собі чи певний вклад є й від AndMore (development tools for Android).

Написано воно на Java і елементи GUI зʼявляються з затримкою або з затримкою реагують на дії користувача.

Воно часто не „помічає“ зміни в проекті чи в файлах проекту. Наприклад, я створюю новий каталог в проекті, додаю туди декілька XML файлів і в коді програми пробую якось використати те що знаходиться в цих файлах а Eclipse пише що і файлів таких не існує і каталогу теж не існує. Не допомагає навіть перезапуск IDE.

LogCat (вікно з системними повідомленнями від Android) в Eclipse це те що дратує мене найбільше. Через перенесення довгих рядків, уїбанський шрифт і необхідність прокручувати вміст цього сраного вікна переглядати повідомлення про помилки зручніше з вручну збереженого текстового файлу який створюється за допомогою відповідної кнопки в вікні LogCat.

Ні з того ні з сього Eclipse (або AndMore) може почати доволі сильно навантажувати ЦП.

Складний GUI з довжелезними меню пункти яких не поміщаються на екрані.

poopoo

Вчора майже 5 годин писав код для додавання товарів до віртуального кошику.

poopoo

В HashMap не можна використоувати примітивні типи в якості ключів.

No, the main reason for not allowing primitive types is type erasure in Java, that effectively turns Map<Integer, String> into Map<Object, Object> during compilation

https://stackoverflow.com/q...shmap-and-int-as-key

poopoo

Програмісти не еліта. Запитання: „How to connect Android with MySQL using Mysql JDBC driver?“. Відповідь: „Android by default does not support MySQL. It has an in-built database i.e SQLite.…“.

https://stackoverflow.com/q...ng-mysql-jdbc-driver

poopoo

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/netbeans/Main : Unsupported major.minor version 52.0

Java — лайно.

poopoo

Якщо в елементі ListView присутні кнопки, то даний елемент списку перестає реагувати на натиснення.

poopoo

В JavaScript мене бісили всіляки not a function а в Java на кожному кроці NullPointerException.

poopoo

Якщо вірити https://stackoverflow.com/q...-textview-in-android то

While using attributes like android:textAppearance it directly uses the predefined specific sp values for the textSize as
android:textAppearance="?android:textAppearanceSmall" => 14sp
android:textAppearance="?android:textAppearanceMedium" => 18sp
android:textAppearance="?android:textAppearanceLarge" => 22sp

poopoo

Як для TabWidget зробити розділювальні лінії між вкладками. З якоїсь версії Android ідіоти з Google вирішили що розділювальна лінія між вкладками не потрібна і тому тепер, для того щоб її все таки показати, доводиться трахати собі мозок.

Після створення обʼєкту TabHost і до задання вмісту вкладок, тому що, як пишуть в Internet, якщо не дотримуватися саме цієї послідовності програма може впасти, пишемо код

tabHost.getTabWidget().setDividerDrawable(R.drawable.tabs_divider);

Після чого в директорії drawable створюємо файл tabs_divider.xml з отаким вмістом:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <size android:width="1px"/>
    <solid android:drawable="?android:attr/listDivider"/>
</shape>

І отримуємо вертикальну розділювальну лінію. Щодо знака питання перед android, то я підказує нам Stackoverflow «Prefixing the ID with a question mark indicates that you want to access a style attribute that's defined in a style theme, rather than hard-coding the attribute. See "Referencing Style Attributes" here: accessing-resources http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes».

poopoo

Щойно зʼясував що для API 14+ тема задається через файлик (styles.xml) в директорії res/values-14 а не в res/values. На розумному телефоні з Android 5 прописування parent="android:Theme.Holo" в елементі style з атрибутом name="AppBaseTheme" в файлі res/values/styles.xml ні на що не впливає.

poopoo

A Single-Activity Android Application. Why not?! https://medium.com/rosberry...why-not-fa2a5458a099

Судячи по замірам автора програма на активностях замість фрагментів менше навантажує ЦП, менш енергозатратна та займає менше RAM.

poopoo

Не можна просто взяти і запустити активність всередині вкладки TabHost та так щоб те що знаходиться в цій активності не перекривало весь екран і можна було повернутися до попередньої активності всередині TabHost. Виявляється, що для того щоб мати декілька активностей в одній вкладці TabHost і мати можливість переміщатися між ними потрібно використовувати ActivityGroup і самому за всім слідкувати. Ситуація майже така сама якби в web-переглядачі не було історії перегляду і вебщикам доводилося б її реалізовувати. Дивно, але не можу знайти нічого толкового по цій темі окрім парочки текстів та запитань на StackOverflow; і код з цих двох текстів толком не працює.

http://ericharlow.blogspot....roid-activities.html
http://web.archive.org/web/...y-nested-activities/
https://www.google.com/sear...hAP&biw=1600&bih=759 https://www.google.com/search?q=android+activity+group+tutorial+site:stackoverflow.com&amp;client=firefox-b-e&amp;sa=X&amp;ved=2ahUKEwix4aOH07_pAhUCjosKHUQ5C6YQrQIoBDABegQIAhAP&amp;biw=1600&amp;bih=759

poopoo

The early implementations of fragments were riddled with bugs.

Якщо воно недороблене, то нахуя таке випускати і псувати життя програмістам?

As of Android 9.0, the framework implementation of fragments is officially deprecated. Google is now very aggressively steering you to use the Support Library implementation of fragments, and this book will tend to focus on that.

Просто охуєнно.

poopoo

А ще в назвах файлів заборонено символ - і хто його знає які ще.

poopoo

Каталоги /res/drawable, /res/layout не можуть мати підкаталогів. В /res/layout в мене вже з десяток файликів а в /res/drawable я по підкаталогам розсортував декілька десятків картинок. На Stackoverflow знайшов інформацію що підкаталоги ніби як підтримуються Android studio в звʼзці з Gradle.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.