это не человек-программист. Это человек-компилятор. При чем тупой донельзя.
И что тупого в проверках типов и стейта? Язык задачи похож на скриптовый, а то и вообще на нечто аля-пролог.
Понимая контекст задачи, эти вопросы не имеют смысла. Не понимая контекста нужно узнавать именно его, а не задавать тупые вопросы.
Из десятилетнего опыта в разработке могу сказать что "понимая контекст задачи" самостоятельно делать предположения о граничных условиях и просто незафиксированных вещах - идея максимально всратая. Временами кончается говном в штанах и пиздюлями.
А первый вопрос из списка вообще максимально правильный.
А первый вопрос из списка вообще максимально правильный.
Да ладно. Программист джава: у Мальвины было "1" яблоко, Буратино дал 2 яблока, в итоге у Мальвины 12 яблок!
причём тут джава? это и в js так, и в c#, и в php
С++ с PHP выдают "ты просишь сделать хуйню", js делает хуйню которую ты просишь.
В java ошибка компиляции, так как он строго типизированный.
Он максимально правильный если желаешь повыебываться. А вот посыл пикчи похоже вполне верный, задай простой вопрос, и поломанный проф деформацией человек начнет нести хуйню, вместо того, что бы дать простой ответ.
Скорее уж тогда НЕчеловек-тестировщик, при чем тут компилятор, он за тебя не думает.
Когда работаешь с гоуту надо быть предельно простым.
Если ты не пишешь программы сразу на ассемблере, то ты не программист, очевидно.
Определяем херню, берем длину херни, берем херню...
Определяем херню, берем длину херни, берем херню...
1+1=2
1+1=10
а если так: 1+'1'=11 ?
эх... все-равно ошибка.
бля.. да это ж баянище древний, как и само программирование
бля.. да это ж баянище древний, как и само программирование
это не ошибка, а вполне ожидаемое поведение.
просто с точки зрения не программистов это выглядит как ошибка, и вообще может зависеть от языка. особенно новичков сводит с ума, но они быстро привыкают :)
просто с точки зрения не программистов это выглядит как ошибка, и вообще может зависеть от языка. особенно новичков сводит с ума, но они быстро привыкают :)
Блять..
Ебаный нахуй... я теперь понимаю, почему все так работает.
Даже с элементарной задачкой никто не может справится...
Куда то в дебри полезли...
Ебааать нахуй..
Я разочаловался в человечестве.
Ебаный нахуй... я теперь понимаю, почему все так работает.
Даже с элементарной задачкой никто не может справится...
Куда то в дебри полезли...
Ебааать нахуй..
Я разочаловался в человечестве.
Ты провалил задание, мешок мяса
11010000 10100001 11010000 10111011 11010000 10110000 11010000 10110010 11010000 10110000 100000 11010000 10011110 11010000 10111100 11010000 10111101 11010000 10111000 11010001 10000001 11010001 10000001 11010000 10111000 11010000 10111000
11010000 10100001 11010000 10111011 11010000 10110000 11010000 10110010 11010000 10110000 100000 11010000 10011110 11010000 10111100 11010000 10111101 11010000 10111000 11010001 10000001 11010001 10000001 11010000 10111000 11010000 10111000
человек-гуманитарий
Программист =/= человек
Программист != человек, в крайнем случае Программист <> человек
Программист объект класса человек.
Вот тут я бы поспорил. Скорее тут наследование как от человека так и от калькулятора
КАРКУЛЯВШЕЛ ШВИХНУВША
ШПАШИВШЕ БОЖИВШАР
ШПАШИВШЕ БОЖИВШАР
Ромб объект класса квадрат.
Наоборот. Квадрат это частный случай ромба, у которого углы равны.
Правильнее было бы сказать, что квадрат, ромб и прямоугольник это объекты класса параллелограмм с различной вариацией значений размера углов и длин сторон.
Правильнее было бы сказать, что квадрат, ромб и прямоугольник это объекты класса параллелограмм с различной вариацией значений размера углов и длин сторон.
ты походу молодой программист. это классический "взлетит ли самолёт с ленты". вся суть спора в том, что для наследования важны лишь методы. если у тебя один метод - посчитать площадь например, то можно квадрат хоть от треугольника наследовать.
Ты пишешь про наследлвание классов, а я про объект класса. Мы говорим о разных вещах.
я не гуманитарий, но разве "отдал" не означает завершённое действие? 4 пункт кажется притянутым за уши, если не за какие-то более страшные места
а вот 7 и 8 хороши
а вот 7 и 8 хороши
Если данные отданы, совершенно не означает, что они корректно приняты где-то в другом месте.
Тьфу, яблоки конечно.
Тьфу, яблоки конечно.
Означает в том случае, если отдача идет с гарантией доставки (глаза, уши). Либо если Мальвина успешно завершила транзакцию, сказав "Спасибо".
Мальвина сказала "Благодарю", а Буратино завис в цикле ожидания "Спасибо", т.к. вотчдог не был включен, а кодил транспортные функции джун.
Они все притянуты за уши, кроме первого.
2. два яблока, потому что мы очевидно находимся в контексте. Любой ЯП умеет в скоупы (кроме мб брейнфака и подобных)
3. Буратино и Мальвина используются единожды, дальше используются ссылки его/её/..., очевидно речь про один объект т.к. так работают ссылки
4. Нам плевать, взяла мальвина их или нет, главное что мы их отдали. Процесс отдачи подразумевает, что у нас стало на N яблок меньше. То же про 7 и 8
5. Мы предполагаем, что нам перечислены все действия которые произошли. Если мы в любую строчку можем вписать "лул у буратины появилось 100500 яблок" то смысла в задаче нет вообще.
6. То же что 4: нам плевать какой там стейт был (кроме изначального) - у нас есть констатация какой он в конце
9. Он не рекурсивный потому што блять в изначальном алгоритме есть только 3 шага безо всякой рекурсии.
2. два яблока, потому что мы очевидно находимся в контексте. Любой ЯП умеет в скоупы (кроме мб брейнфака и подобных)
3. Буратино и Мальвина используются единожды, дальше используются ссылки его/её/..., очевидно речь про один объект т.к. так работают ссылки
4. Нам плевать, взяла мальвина их или нет, главное что мы их отдали. Процесс отдачи подразумевает, что у нас стало на N яблок меньше. То же про 7 и 8
5. Мы предполагаем, что нам перечислены все действия которые произошли. Если мы в любую строчку можем вписать "лул у буратины появилось 100500 яблок" то смысла в задаче нет вообще.
6. То же что 4: нам плевать какой там стейт был (кроме изначального) - у нас есть констатация какой он в конце
9. Он не рекурсивный потому што блять в изначальном алгоритме есть только 3 шага безо всякой рекурсии.
Не сказал бы что прям все.
2. соглашусь, тут скорее доебка что не уточнилось что передается.
3. Множественное наследование никто не отменял, так что объект одновременно может быть "он" и "она"
4. Подразумевается транзакция, с откатом при ошибке. Грубо говоря мы отдали Мальвине яблоки, она повертела их в руках и вернула назад с фразой "не хочу".
5. Тоже не особо понял, особенно про "первый раз". Я бы больше поверил в то что процесс отдачи яблок является асинхроным и проверку оставшегося количества яблок делаем не дождавшись полной передачи.
6. Соглашусь.
7. Я бы сказал "Остапа понесло", ибо можно предположить что после передачи яблок Буратино превращается в полено.
8. Тоже что и 4.
9. Соглашусь.
2. соглашусь, тут скорее доебка что не уточнилось что передается.
3. Множественное наследование никто не отменял, так что объект одновременно может быть "он" и "она"
4. Подразумевается транзакция, с откатом при ошибке. Грубо говоря мы отдали Мальвине яблоки, она повертела их в руках и вернула назад с фразой "не хочу".
5. Тоже не особо понял, особенно про "первый раз". Я бы больше поверил в то что процесс отдачи яблок является асинхроным и проверку оставшегося количества яблок делаем не дождавшись полной передачи.
6. Соглашусь.
7. Я бы сказал "Остапа понесло", ибо можно предположить что после передачи яблок Буратино превращается в полено.
8. Тоже что и 4.
9. Соглашусь.
3. наследование не при чем, но да, возможен алиасинг. Хотя если мы про языки вроде Rust то невозможен )
4. это додумки из разряда "между 2 и 3 строчками прибежал велоцераптор и сожрал мальвину".
5. выше пояснил что это
7. агась)
4. это додумки из разряда "между 2 и 3 строчками прибежал велоцераптор и сожрал мальвину".
5. выше пояснил что это
7. агась)
>>это додумки из разряда
Если код подразумевает a + b, то можно говорить о велоцерапторе. Если все же Буратино.ОтдатьЯблоки(Мальвина, 2), то вполне возможно что перед нами черный ящик и мы не уверены на 100% что происходит внутри (либо наоборот знаем что возможны исключительные ситуации). В целом этот тезис граничит с 7-м утверждением, ибо напридумывать ситуаций можно миллион. Ошибка выполнения -- вполне типичная ситуация (хоть и далеко не обязательная).
Если код подразумевает a + b, то можно говорить о велоцерапторе. Если все же Буратино.ОтдатьЯблоки(Мальвина, 2), то вполне возможно что перед нами черный ящик и мы не уверены на 100% что происходит внутри (либо наоборот знаем что возможны исключительные ситуации). В целом этот тезис граничит с 7-м утверждением, ибо напридумывать ситуаций можно миллион. Ошибка выполнения -- вполне типичная ситуация (хоть и далеко не обязательная).
a + b это сахар для a.add(b), т.е. все тот же черный ящик. В котором может происходить что угодно. Вон, плюсоидам показалось разумным сделать из оператора битового сдвига запись байт в поток.
Никогда не знаешь, чего от операторов ожидать.
Никогда не знаешь, чего от операторов ожидать.
Буратино дали 3 яблока это и есть иницализация начального состояния субъекта, никаких других данных о Буратине нет, поэтому используется принцип бритвы Оккама.
"Два он отдал Мальвине" - это операция менящее состояние интересующего нас субъекта. Следуя принципу инкапсуляции нас не интересует чего там у Буратино может быть еще два. Задача рассматривается как целостный контекст, из которого следует что "он" - субъект задачи, то бишь Буратино, а "два" - количетсвенное выражение объекта операции, то бишь яблоки. Мальвина - внешний актор, с которым взаимодействует наш субъект.
"Сколько яблок у него осталось?" - операция чтения текущего состояния нашего субъекта.
Ответ: 1.
А то что в посте - это типичный overthinking
"Два он отдал Мальвине" - это операция менящее состояние интересующего нас субъекта. Следуя принципу инкапсуляции нас не интересует чего там у Буратино может быть еще два. Задача рассматривается как целостный контекст, из которого следует что "он" - субъект задачи, то бишь Буратино, а "два" - количетсвенное выражение объекта операции, то бишь яблоки. Мальвина - внешний актор, с которым взаимодействует наш субъект.
"Сколько яблок у него осталось?" - операция чтения текущего состояния нашего субъекта.
Ответ: 1.
А то что в посте - это типичный overthinking
А потом выясняется, что заказчик думал совсем иначе.
Ничего страшного, у нас есть еще один спринт.
Это оверсинкин, косящий под тупейший компилятор. Автор доебался до прямого объявления переменных, синтаксиса, операндов итд. Пойдет для уровня "обхяснить что есть что деткам в школе", но к реальности не имеет никакого отношения.
Скорее всего автор - сам за школьной партой открыл книжку и начал придумывать смехуёчек.
Скорее всего автор - сам за школьной партой открыл книжку и начал придумывать смехуёчек.
В реальности всё ещё хуже и сложнее. Автор даже до половины возможных вариантов не доебался.
оверсинкин
Дали - это увеличение значения переменной. Первоначальная инициализация отсутствует и это значит, что в переменной содержится произвольный мусор.
Схуяли там мусор? Там начальное состояние "0", созданное условиями нашей вселенной. будь там мусор, при каждом прочтении ты бы видел
"У Буратино "ыволапр" яблок", "У Буратино "NULL" яблок", "У Буратино "Unexpected" яблок", "У Буратино 99999999999999999999999999 яблок"
"У Буратино "ыволапр" яблок", "У Буратино "NULL" яблок", "У Буратино "Unexpected" яблок", "У Буратино 99999999999999999999999999 яблок"
Начальное состояние может быть не определено вовсе. У нас даже не ясно к какому типу относится Буратино - Ожившее дерево, Человек, или вообще инстанс родительского класса Гуманоид. Например, Буратино может быть сделан из яблони и яблоки на нём тупо растут сами. И начальное состояние по яблокам для него >0
Для яблони начальное состояние кол-ва яблок >0? Проклевывается такой росток из семечки. Только-только солнцу первые листочки показал, а уже двадцать кило яблок на нем, собирай-не хочу, только ведра успевай подносить.
Начальное состояние буратины по яблокам, а не яблони. Его вполне могли выстрогать из уже плодоносящей яблони, с яблоками.
Если его выстрогали из яблони с яблоками, то яблоки все еще принадлежат яблоне а не ему. ну или это зависит от того, кто его строгал. Как выше заметили - бритва Оккама. Давай обрежем ей этот диалог?
А если Буратино сидит в ящике Шрёдингера?
А если бы да кабы во рту вырасли грибы
Программист из вас ещё тот.
Как ты это понял?
тогда вся конструкция оборачивается в монаду maybe
А теперь представь, что это не задача в вакууме, а часть большого проекта. Там ещё вдвое больше вопросов можно будет придумать не напрягаясь.
А теперь представь бритву Оккама. Возьми ее в руки и отсеки все лишнее. И опа - это снова задача в вакууме и никакого большого проекта нет! Чудеса!
Это просто разные ситуации, бритва Оккама тут не при чём
Ты начал на одну реальную ситуацию, где асбтрактаная задачка в вакууме, накручивать лишние сущности и придумывать какой-то большой проет. Вот чтоб такой ерундой не страдать и нужна бритва Оккама
Формально инициализацией ( созданием ) объекта буратино занимался Папа Карло.
И как мы знаем яблок он ему не давал.
Можно, конечно, повыебываться, и сказать что папка карло лишь один из фабричных классов участвующих в цепочке создания буратино.
В таком случае получается что кто изначальный инициализатор класса буратино нам неизвестно.
Получается что все что мы знаем что Класс фабрики ( а возможно бридж класс ( соединяющий класс) ) Алкаш Джузеппе передал неизвестный ему объект ( говорящее полено ) классу Карло, который проверив объект по принципу "может говорить" сделал из него Ребенка.
И как мы знаем яблок он ему не давал.
Можно, конечно, повыебываться, и сказать что папка карло лишь один из фабричных классов участвующих в цепочке создания буратино.
В таком случае получается что кто изначальный инициализатор класса буратино нам неизвестно.
Получается что все что мы знаем что Класс фабрики ( а возможно бридж класс ( соединяющий класс) ) Алкаш Джузеппе передал неизвестный ему объект ( говорящее полено ) классу Карло, который проверив объект по принципу "может говорить" сделал из него Ребенка.
Буратино дали 3 яблока, но ему криво прописали руки и яблоки до него "не дошли". Допустим, что мы проинициализировали переменную с яблоками нулём, но мы же считаем яблоки объектами материального мира(мы же не можем держать в руках отрицательное количество), поэтому будем хранить их количество в беззнаковом целом (например, uint32). Далее, при передачи яблок мы должны увеличить счётчик у Мальвины на 3 и уменьшить на столько же у Буратино. Если не делать проверку корректность - по завершению взаимодействия у Буратино останется 4294967293 яблока.
Вот для таких и придуман принцип KISS, чтобы не городили целый класс для операции сложения
А это смотря что складывать. Для сложения матриц класс можно и сделать.
Или проведение банковских транзакций.
There are two types of people in this world:
- those who can extrapolate from incomplete data
- those who can extrapolate from incomplete data
учёные из центра незавершённых исследований доказали, что.
0: этот список должен начинаться с нуля.
110100001010001011010001100010110010000011010000101111111101000010111000110100001011010011010000101111101101000110000000
что такое "два"? написано буквами, а не цифрой, значит это не количество. может это стул под названием "два" или еще что
Нужен предпроектный анализ. Стоимость 5 000 €. Ориентировочные сроки - 2 недели. Если по окончанию анализа будет принят проект, то стоимость анализа войдёт в стоимость проекта.
Вы что там, деньги пилите? Кто 5000 евро за две недели освоит? Нате вам 10000 и раньше чем через полгода не возвращайтесь.
Это все, конечно, хорошо, но термин "Буратино" нуждается в уточнении. Буратино - это единственное или множественное число? Что мешает предположить что в условии задачи "2 Буратино дали 3 яблока" и кому они их дали?
Если серьёзно, этот пост отлично иллюстрирует, почему иногда заказчику кажется что "чё там разрабатывать целый день, 3-2 в коде написал и готово", а на деле нужно учесть примерно вот такое количество проблем, а ещё и оттестировать и найти оставшиеся, о которых ты не подумал.
Читаю сейчас Umineko и там именно такая извращенная логика и аргументация и применяется для отрицания ведьмы :D
Если бы Беатриче первые два предложения произнесла красным, а потом спросила бы у Батлера, сколько яблок осталось, у него были бы все нижеперечисленные способы, чтобы выкрутиться и не признавать одно единственно оставшееся яблоко!
Если бы Беатриче первые два предложения произнесла красным, а потом спросила бы у Батлера, сколько яблок осталось, у него были бы все нижеперечисленные способы, чтобы выкрутиться и не признавать одно единственно оставшееся яблоко!
Rimfa:
Мальчик упал с четырёх ступенек и сломал ногу. Сколько ног сломает мальчик, если упадёт с сорока ступенек?
AzazeLHAck:
Ответ не может быть однозначным
Rimfa:
В смысле?
AzazeLHAck:
1) Мы не знаем, кому он сломал ногу.
2) Не факт, что за каждые 4 ступеньки он будет и далее ломать одну ногу (будь то себе, или кому-либо).
3) Если ноги всё же его, то после первых восьми ступенек ноги кончатся, и он начнёт ломать всё остальное и к концу сломаны будут даже уши.
4) Важен размер тех сорока ступенек. Если масштаб 1:10, то он по-прежнему сломает одну ногу.
5) Если учесть теорию вероятности, то сломаться могут ступеньки, а не ноги.
6) Гравитация и сила трения...
Сложная задача.
Rimfa:
ОДНУ ОН СЛОМАЕТ! ПЕРВАЯ УЖЕ СЛОМАНА НА ЧЕТЫРЁХ СТУПЕНЬКАХ!!!
Rimfa:
ТЫ СЛОЖНЫЙ, А НЕ ЗАДАЧА!!! КОМПЬЮТЕРА КУСОК!!!
Мальчик упал с четырёх ступенек и сломал ногу. Сколько ног сломает мальчик, если упадёт с сорока ступенек?
AzazeLHAck:
Ответ не может быть однозначным
Rimfa:
В смысле?
AzazeLHAck:
1) Мы не знаем, кому он сломал ногу.
2) Не факт, что за каждые 4 ступеньки он будет и далее ломать одну ногу (будь то себе, или кому-либо).
3) Если ноги всё же его, то после первых восьми ступенек ноги кончатся, и он начнёт ломать всё остальное и к концу сломаны будут даже уши.
4) Важен размер тех сорока ступенек. Если масштаб 1:10, то он по-прежнему сломает одну ногу.
5) Если учесть теорию вероятности, то сломаться могут ступеньки, а не ноги.
6) Гравитация и сила трения...
Сложная задача.
Rimfa:
ОДНУ ОН СЛОМАЕТ! ПЕРВАЯ УЖЕ СЛОМАНА НА ЧЕТЫРЁХ СТУПЕНЬКАХ!!!
Rimfa:
ТЫ СЛОЖНЫЙ, А НЕ ЗАДАЧА!!! КОМПЬЮТЕРА КУСОК!!!
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!