Andrii
Это я про мутабельные типы в значениях по умолчанию.
Вобщем всё-равно, имхо, лучше понимать сишные указатели, тогда как-то проще и более ожидаемо
Avazart
Ну да конечно.
Avazart
Ну не знаю.
Avazart
про указатели.
Avazart
Достаточно знать как gc собирает
Avazart
и как вообще дела происходят с мутабельность немутабельностью
Avazart
и к чему это приводит
Avazart
)))
Борисов
Ещё бы где-то линейку иметь, чтоб знания языка и кодинг измерять.
На то и шутка, что она шутка 😆 Но вот, например, в С++ в шаблонах можно заплутать )
Avazart
Да в С++ можно во много заплутать если копнуть.
Andrii
Поэтому я голосую за Си, он простой как веник :)
Avazart
говорят указатели это типа не просто
Avazart
типо все вязнут в них
Avazart
а без них тут сразу со строками не можешь работать....
Avazart
ибо своего строкового типа как бы нет
Avazart
так что может и простой но писать на нем больно
Avazart
ну как и асм
Andrii
Ну... вот тебе и тест на пригдность... Опять же, в чём сложность понять, что каждый байт пронумерон, поставлен на учёт, и что этот номер и есть адрес? Чай не времена DOS, или Windows 3.11 где указатель это сегмент/селектор + смещения. Ну да, и сейчас в общем-то селектор используется, например FS это Thread Environment Block под маздаем, но... всё стало проще: у тебя овердофига байт, каждый пронумерован. Под некоторым есть физическая память, под другими нету
Avazart
Ну хз у меня с указателями не было никогда проблем.
Andrii
Решай упражнения, типа есть struct test { void * ptr; char ch; int value; }; static struct test some_data[6]; И задача напечатать для каждого элемента массива его адрес и адрес всех его полей :)
Avazart
Правда когда я учил это было очень давно
Andrii
Нет проблем с указателями, нет проблем ни с чем. Как я запиминаю другие ЯП? Я просто представляю сишный код под капотом :)
Avazart
Ну да.
Andrii
Понятно, что это не всегда работает для какой-то экзотики, типа зависимых типов
Avazart
Но кто говорит что это правильно или что нельзя как то иначе представлять без сишки
Avazart
Т.е. я так же всегда думаю.
Avazart
По тому что первым учил С++
Avazart
а python в принципе учил ради Selenium
Andrii
Ну а С++ уже ближе к Python :) То же мышление, только быстрее и больше заморочек
Avazart
Ну не знаю.
Avazart
Но кто сказал что нельзя понимать питон с нуля без знания С или С++
Avazart
и без сопустсвующего им треша.
Andrii
Но кто сказал что нельзя понимать питон с нуля без знания С или С++
Может и можно, но всё равно вылазит... Закон дырявых абстракций, которые прут наружу
Andrii
Вот сишная абстракция почти не дырявая
Avazart
Ну не знаю. Тут же на Си и С++ уходит овер дофига времени
Avazart
насколько это оправдано можно спорить.
Andrii
Ну С++ не надо, а на си, ну куда там время уйдёт? Познать указатели, if, for, while, switch описания функций и всё.
Avazart
А зачем знать об указателях?
Avazart
А что память ?
Avazart
В питоне память немого иначе устроена
Avazart
как я помню
Anastasia
Здравствуйте. Я только начинаю, по этому не судите строго. Помогите написать метод на задание: "Написать метод, который принимает пустой массив из 100 элементов, и заполняет его первыми 100 простыми числами." интересует больше как заполнить пустой массив(как определить простые числа я примерно знаю).
Andrii
В питоне память немого иначе устроена
Что там иначе? id(None) даст тебе значения указателя на None.
Avazart
Арены?
Avazart
Пулы ипр?
Avazart
И не указателя а идентификатора
Avazart
объекта т.е. там куча кода вокруг скорее всего
Anastasia
у меня есть код, там может быть синтаксис смешной, но нужна помощь
Anastasia
не знаю как выразить правильно логику
Anastasia
Anastasia
в конце я хочу добиться, что если тру, то закинуть все числа которые тру в массив размером 100
Anastasia
скидывай код
или вам в приватные сообщения
Avazart
А что в java есть вложенные методы/ф-ии?
Пашок🗽
не, тут норм, я смотрю
Пашок🗽
ну смотри, первое что кидается в глаза, boolean isPrime внутри метода main неправильно)) что IDE любезно подсказывает
Пашок🗽
у тебя метод написан внутри другого метода
Пашок🗽
ты можешь только вызывать методы внутри друг дружки, их контракт описывается снаружи ) В классе
Avazart
Ну блин.
Пашок🗽
новый метод нужно создать?
скопировать, и вынести за метод main
Alexander
у тебя метод написан внутри другого метода
Хах, я не заметил даже. Вообще глупое ограничение
Avazart
Anastasia
Пашок🗽
Хах, я не заметил даже. Вообще глупое ограничение
не глупое, нафига писать метод в методе?) тем более когда есть функции, или хоты бы банальное {}
Anastasia
теперь буллиан не в мейн
Andrii
Ой, попробовали бы эти двое Agda :) Я там пару часов транспонирование матрицы писал :)
Пашок🗽
так?
типа того, но у тебя всё равно много ошибок, со скобками какие то проблемы
Avazart
Скинь код текстом или куда нибудь.
Avazart
Так долго можно показывать.
Anastasia
public class task2 { public static void main(String[] args) { int[] prime = new int [100];} boolean isPrime(int n){ if (n > 1)//if (n > 1) { for (int i = 2; i < n; i++)// в цикле перебираем числа от 2 до n - 1 if (n % i == 0) // если n делится без остатка на i - возвращаем false (число не простое) false; // если программа дошла до данного оператора, то возвращаем true (число простое) - проверка пройдена return true; } else if ()// иначе возвращаем false (число не простое) return false; } if (isPrime = true){ int[] prime = isPrime; System.out.println(prime); } }
Alexander
не глупое, нафига писать метод в методе?) тем более когда есть функции, или хоты бы банальное {}
Где-то плачет один питон. Область видимости и возможность передать неанонимную функцию
giorgio
Ой, попробовали бы эти двое Agda :) Я там пару часов транспонирование матрицы писал :)
ой, можешь какой-нибудь кусочек кода показать и сказать, что он делает? жутко интересно посмотреть