?

Log in

No account? Create an account

Previous Entry | Next Entry

Взяла на этот семестр курс по C#. Помню, что брала курс по нему на курсере и запомнился он мне как дружелюбный хороший язык. Сейчас же чувствую себя персонажем в фильме ужасов, когда герой окликает со спины свою любимую девушку/маму/лучшего друга, окликнутый поворачивается и герой видит страшное чудовище/монстра/зомби, которое воет и тянется пообедать свежими мозгами.
Во-первых, этот курс тоже онлайн, потому что колледж не считает нужным предлагать этот курс в реале (по крайней мере, в нынешнем семестре). Во-вторых, женщина-препод, не мудрствуя лукаво и не утруждая себя просто копипастит в модули микрософтовскую документацию и этим ограничивается. В-третьих, скопипастить она умудряется так, что некоторые вещи повторяются, но при этом записи очень бессистемны и messy. Начинаю подозревать, что она не существует и нас обучает наскоро написанный бот. В-четвертых, никаких "Hello world", которыми так любят грешить преподы, никакого постепенного усложнения материала, никакой скидки новичкам (а prerequisites, кстати, нет для этого курса). В-пятых, до объяснений она не опускается, в ходе чего это начинает выглядеть так: You can also convert the string arguments to numeric types by using the Convert class or the Parse method. For example, the following statement converts the string to a long number by using the Parse method:
long num = Int64.Parse(args[0]);
It is also possible to use the C# type long, which aliases Int64:
long num = long.Parse(args[0]);
You can also use the Convert class method ToInt64 to do the same thing:
long num = Convert.ToInt64(s);
Что за аргументы? Что во что мы конвертируем? Зачем мы это делаем? В каких случаях применять Convert, а в каких Parse? Чем они отличаются и как работают? Между прочим, это цитата из второго модуля, первая неделя занятий. И такие перлы от строки к строке. Я даже продраться через ее копипасты не могу - потуплю-потуплю и иду математику делать. Чес-слово, я пытаюсь понять, но вообще не могу. Можете надо мной посмеяться, но у меня воспринимается просто как абракадабра какая-то, я спотыкаюсь на каждом слове, я хочу последовательности...

Value types derive from System.ValueType, which derives from System.Object. Types that derive from System.ValueType have special behavior in the CLR. Value type variables directly contain their values, which means that the memory is allocated inline in whatever context the variable is declared. There is no separate heap allocation or garbage collection overhead for value-type variables.
There are two categories of value types: struct and enum.

The built-in numeric types are structs, and they have properties and methods that you can access

Value types are sealed, which means, for example, that you cannot derive a type from System.Int32, and you cannot define a struct to inherit from any user-defined class or struct because a struct can only inherit from System.ValueType. However, a struct can implement one or more interfaces. You can cast a struct type to an interface type; this causes a boxing operation to wrap the struct inside a reference type object on the managed heap. Boxing operations occur when you pass a value type to a method that takes a System.Object as an input parameter. 

Переведите мне это, пожалуйста, на человеческий? Может, я как-то на голову долбанутая? Но, честно, мне кажется, что если я это вслух начну читать - то максимум, чего я добьюсь - это демона вызову, а понять не смогу.
А зомби, тем временем, неудержимо хочет пообедать моими мозгами, ибо срок для quizz - до воскресенья, а до конца assignment'а - до конца следующей недели

Comments

l_sylvanas
Apr. 16th, 2015 08:00 pm (UTC)
Это просто терминология языков программирования, к ней со временем привыкаешь. То есть, по идее, пререквизитом тут должен быть курс "языки программирования", где объясняют, как они все устроены.

Мне это очень хорошо знакомо: курсы, которые называются как-нибудь вроде "Introduction to programming in C#", приходишь туда -- а там вот это вот всё. Я тоже этого не люблю. Потому что это не "Introduction to programming", а курс именно о C#, о том, как именно он устроен. На самом же деле можно довольно долго жить и программировать, не вполне представляя себе все эти вещи, а лишь какие-то из них. А спокойно читаться вся эта документация начинает уже с опытом, когда уже годами программируешь на разных языках. То есть, я думаю, что даже курс "языки программирования" на самом деле поможет лишь чуть-чуть.

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

Еще добавлю: мне кажется, большинство курсов, которые лично мне оказывались особенно полезны в плане продвижения вперед, вообще не имели в названии какого-то конкретного языка. Для меня это даже как бы red flag несколько, что ли. Я не встречала ни одного курса, где был бы упор на конкретный язык и который при этом не был бы рассчитан на уже опытных более или менее программистов. Впрочем, это, конечно, не значит, что их нет, вот я слышу отовсюду, что теперь питон очень везде используют, масса курсов, вполне возможно, что в название каких-то из них и вставили слово "питон", но они при этом вполне подходят для студентов :). Но вообще в нашей CSE программе в университете такого курса (где значился бы язык) нет ни единого вообще. И часто просто от преподавателя зависит, требует ли он конкретный язык или нет, и если да, то какой.

Edited at 2015-04-16 08:10 pm (UTC)

Profile

fearless_cat
Бывшие канадские ангелы мы

Latest Month

August 2019
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Page Summary

Powered by LiveJournal.com
Designed by Tiffany Chow