Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Отрицательные балы в карме по форуму, за что? (https://javascript.ru/forum/offtopic/19483-otricatelnye-baly-v-karme-po-forumu-za-chto.html)

kobezzza 05.08.2011 21:35

А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.

Конечно можно тыкать лицом в спецификацию и говорить, что в JS нет классов:D Но вспомните, разве вас не раздражало в школе/университете, когда вы рассказываете учителю определение, но своими словами, а он ставит вам 2/пересдачу и говорит учить 1 в 1, как в учебнике (разумеется, обидно, если вы действительно говорили правильно:D).

Важно то, что человек вкладывает в слово)

ЗЫ: например, у меня был случай на 2-м курсе универа на ВычМате: экзамен, рассказываю определение определённого интеграла: "это площадь подынтегральной кривой", а мне ставят минус бал и говорят: "это число"

monolithed 05.08.2011 21:49

Цитата:

Сообщение от dmitriymar
На уровне языка реализовано наследование на прототипах.

ключевое слово class вообще ничего не говорит о наследовании, просто в JS нет абстрактной прослойки с ключевым словом class, и оно не используется, хотя и присутствует в спецификации [[Class]]. Вот как это будет в ES7 (Strawman):

<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/traceur.js" type="text/javascript"></script>
<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/bootstrap.js" type="text/javascript"></script>

<script type="text/traceur">
class Foo {
    new(message) {
        this.message = message;
    }
    method() {
        let element = document.querySelector('body');
        element.innerHTML = this.message;
    }
};

let foo = new Foo('Hello, world!');
foo.method();  
</script>


PS: для запуска примера, нужно чуть подождать т.к. парсится долго или что-то сломалось у них ((

Gozar 05.08.2011 22:02

Цитата:

Сообщение от kobezzza (Сообщение 117533)
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.

Таким образом ты пытаешься создать кашу в чужой голове?

Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.

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

mister_maxim,
карма вырастет, когда ты сделаешь что-то достойное внимания или хорошее и полезное для общества.

kobezzza 05.08.2011 22:12

Цитата:

Таким образом ты пытаешься создать кашу в чужой голове?
Ну вот пример: мне дали вести студентам вводный курс по JS, в один семестр они параллельно курят также шарп/делфи, и у них и так в голове чёрт знает что, поэтому нужно упрощать терминологию и программу. Я им естественно рассказал, как всё устроено на самом деле, но им реально проще понимается, если говорить слова, которые они уже слышали:). Конечно, опыта преподавания у меня очень мало (всего пол года), но уже небольшие заметки сделал, как что рассказать проще и лучше.

Вспомните, как нам врали в школе, что делить на ноль нельзя, или, что корня из отрицательного числа не существует) Мы бы тогда просто не поняли)

Цитата:

Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.
Абсолютно согласен, но иногда можно сделать исключение, например я больше чем уверен, что если бы я при разговоре с тобой сказал бы слово класс в контексте JS, то ты бы прекрасно понял, что я имею ввиду;)

Gozar 05.08.2011 22:19

Цитата:

Сообщение от kobezzza (Сообщение 117539)
Вспомните, как нам врали в школе, что делить на ноль нельзя

никто вам не врал, вас пытались уберечь от жестокой реальности:
Цитата:

считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это

kobezzza 05.08.2011 22:21

Цитата:

считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это
ахахаххахах:haha: ну тогда ок:D

Shaci 06.08.2011 00:34

Цитата:

Сообщение от kobezzza (Сообщение 117533)
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры.

+1

mister_maxim 06.08.2011 17:41

dmitriymar,
Очень недобрый ты чел., я бы тебе еще один минус бахнул, но толку..
только минус еще получу.. и будем друг дуржку минусы кидать... по сути война пойдёт.
Ты войны хочешь?
Господь Бог тебе судья - Он всё видит и за всё наказывает.

Придираешься к любой букве, ну если и придираться к любой букве, то что из этого получается?
Что на этом форуме нельзя слово "класс" вообще писать?
В рамках языка JS нет таких терминов как jquery, фреймворк, и многих других, однако их пишут, и о них говорят, пользуются,
это всё уже дополнения, вспомогательные инструменты, аналогично и классы, тем более, что
классы можно построить в полной мере соответствующие с логико-практической точки зрения классам из С++, и наследования и приватные методы...
и подразумевающиеся полиморфизм с инкапсуляцией. И я их строил.

"классов в я зыке" - ты пробел в середине слова лишний поставил, слова 'зыке' нет в русском языке с тем смыслом который тут фигурирует.
Я не говорил что писал "классы в языке", я говорил написал класс, без в "языке".

"от того что ты сам их писал они .....", и что вместо точек, ПИ стоит?
Ну в таком случае аналогично скажу что я о тебе думаю: .........................

Вот с чем соглашусь - так это то что в самом языке javascript нет нативной поддержки классов, такой как она есть в С++, но любые конструкции можно построить на javascript, хоть сам ассемблер на побитовом уровне реализовать, было бы желание.

monolithed 06.08.2011 17:47

Цитата:

Сообщение от mister_maxim
в самом языке javascript нет нативной поддержки классов, такой как она есть в С++

С++ не очень хороший пример, т.к. в нем много лишних абстракции.

ваый 06.08.2011 20:38

Зерно истины есть в его словах. В конечном итоге, важно, что он имел в виду, употребляя слово "класс". И я тоже часто могу его употребить, имея в виду общий конструктор для группы объектов. Могу так сказать, и говорю. Не потому что я не знаю, что это в общем-то не класс, а просто потому что это удобный способ обобщения. А пинать только за одно слово.. Как-то это некрасиво, да.


Часовой пояс GMT +3, время: 06:35.