Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Java vs C#

Автор Karakurt, октября 8, 2010, 10:01

0 Пользователи и 1 гость просматривают эту тему.

Dims

Цитата: Karakurt от октября 13, 2010, 08:50
Что за костыли?  F# - еще круче? :)
Главный "костыль" -- это "дженериксы" -- параметризованные классы, приблизительно соответствующие "шаблонам" Си++. В Джаве их изначально не было, а потом, когда они были введены, то были сделаны лишь на уровне синтаксиса языка -- после компилляции они не существуют. В Сишарпе дженериксы реализованы лучше. Но, мне кажется, в Джаве они всё же появились раньше, хотя я не очень внимательно слежу за этой конкуренцией...

Коллекции, конечно, в джаве появились раньше, но были непрарамтрическими. Форыч -- не помню, у кого раньше появился. Причём в джаве его назвали так же, как и обычный оператор цикла -- for (только синтаксис другой), а в сишарпе сделали специальное слово -- foreach...

Karakurt

Спасибо, а вы только эти два языка используете или еще что? Что скажете о питоне, хаскеле? Что лучше подойдет для скажем программы переводчика?

myst

Цитата: Dims от октября 14, 2010, 11:14
Я как раз работаю фриласером и использую эти два языка.
Кстати, расскажите, что собой представляет фрилансовое кодерство. Я думал, дикие кодеры истреблены аутсорсинговыми контроками.

Цитата: Dims от октября 14, 2010, 11:15
"Поделки для Виндоуз" -- очень востребованный продукт во фрилансе.
Какие поделки в ходу на фрилансовом рынке?

Dims

Я не только эти два языка использую, но вот Питон и Хаскель -- нет. Скрипты по мелочи править приходилось, но полностью писать -- не писал.

Для программы переводчика, я думаю, сам язык не важен, поскольку главное в программе -- это большая база данных/правил (сам язык уходит на второй план).

Думаю, что нужно поискать в интернете то, что уже написано на эту тему -- потому что всё равно придётся использовать готовые наработки (с нуля писать нельзя) -- и уже выбирать язык в соответствии с тем, что лучше совместимо с этими наработками и конечными требованиями.

В сишарп, кстати, имеются "лямбда выражения", то есть, анонимные функции, которые формулируются прямо в тексте: (wiki/en) C_Sharp_syntax#Lambda_expressions. Это "дань" функциональным языкам...

Dims

Цитата: myst от октября 14, 2010, 11:50
Кстати, расскажите, что собой представляет фрилансовое кодерство. Я думал, дикие кодеры истреблены аутсорсинговыми контроками.
Я не знаю, я целостной картины не имею. У меня в конечном итоге получилось несколько постоянных заказчиков, один из которых постоянно заказывает мне грабберы сайтов на C#. Может быть, когда эти заказчики иссякнут, то я больше никого найти и не смогу? Не знаю, пока всё нормально (сказал выпавший с девятого этажа, пролетая пятый).

Кстати, я заметил, что сейчас фриланс биржи предлагают услуги по организации фриласн-команд. Думаю, что можно и к команде примкнуть, либо организовать команду...

myst

А как происходит взаимодействие с заказчиками? Программы сопровождать надо, или сдал — получил деньги — забыл? По деньгам как, хотя бы ориентировочно? Вы договариваетесь о цене по каждой программе отдельно или есть какие-то общие тарифы и т. п.? Ценообразование на основе чего?

Dims

Есть специальные сервера -- фриланс-сервера, где заказчики публикуют задания, а исполнители -- свои резюме, скилы и т.п. Обычно на этих сайтах идёт аукцион на понижение -- то есть, исполнители соревнуются кто дешевле и быстрее выполнит задание. Естественно, если явно указать нереально-низкую цену, то заказчик может не поверить в серьёзность намерений. Но поначалу неизбежно приходится демпинговать, потому что наиболее важный критерий -- это количество ранее выполненных заказов и отзывы по ним. Сейчас сайты предлагают тарификацию и по времени -- заказчик для контроля получает скриншоты вашего экрана в течении того времени, когда вы ставите галочку, что находитесь в процессе выполнения задания. Но я так не работал, я уже напрямую работаю. У меня выходит примерно среднерыночная московская программистская зарплата. Из минусов -- необходимость самому себя контролировать (расслабился, залез потрещать на форуме -- не заработал), кроме того, отсутствуют оплачиваемые отпуска, больничные и так далее. Кроме того, работаю дома -- мешаю домашним, а они -- мне. Из преимуществ -- возможность работать в любой точке земного шара (где есть интернет) и независимость...

myst

Цитата: Dims от октября 14, 2010, 12:53
У меня выходит примерно среднерыночная московская программистская зарплата.
А по времени как? Сколько часов в месяц выходит?

Сколько времени на разработку дают?

Цитата: Dims от октября 14, 2010, 12:53
Из минусов -- необходимость самому себя контролировать (расслабился, залез потрещать на форуме -- не заработал), кроме того, отсутствуют оплачиваемые отпуска, больничные и так далее. Кроме того, работаю дома -- мешаю домашним, а они -- мне. Из преимуществ -- возможность работать в любой точке земного шара (где есть интернет) и независимость...
Ну, это общефрилансовые качества. :)

Phersu

Цитата: Dims от октября 14, 2010, 11:04
для C# тоже уже есть Моно, но мне кажется, она может не всё и распространена недостаточно
Мне уже это надоело слышать. Кто-то один раз её попробовал в 2005-ом году, и в 2010 продолжает повторять про недостаточно распространена и может не всё.

Что значит недостаточно распространена?

ОСи:

Linux
Mac OS X, iPhone OS
Sun Solaris
BSD - OpenBSD, FreeBSD, NetBSD
Microsoft Windows
Nintendo Wii
Sony PlayStation 3

Процессоры:
s390, s390x (32 and 64 bits)
SPARC (32)
PowerPC
x86
x86-64: AMD64 and EM64T
IA64 Itanium2 (64 bit)
ARM: little and big endian
Alpha
MIPS
HPPA
(для этого всего есть под джиттеру)

Во многие линуксовые дистры включена по умолчанию.
Моно давно уже продакшн-реди.

6 октября вот выпустили версию 2.8 со новым сборщиком мусора, правда, под Линукс только пока.
Моно активнейшим образом развивается.

Насчёт совместимости с мс.нет - порядка 99% (всякие убогие WPF я не имею в виду — там это won't support). Для оставшегося 1% есть собственные инструменты для решения (по сути лучше писать под моно на линуксе, а потом "портировать" на Виндос на мс.нет — тогда совместимость 100%)

Плюс у моно есть некоторые штуки, которых нет в мс.нет.

myst


Phersu

Кстати, моно можно использовать автономно — с помощью встроенной утилиты mkbundle. Тогда рантайм не нужен (вся программа будет состоять из main.exe, mono.dll - и пары glib-зависимых либ (эту зависимость убрали в 2.8) - пара МБ, если ещё сжать upx'ом). При этом весь CIL-код остаётся, и в силе весь джиттинг, рефлексия, дженерики и т.п. (а вот под айФон они умеют полную статическую компиляцию). Правда, mkbundle в версии 2.6.4 сломали (в 2.6.1 было ок), а дальше не смотрел.
Мне это вот больше всего нравится, т.к. жутко бесят зависимости в 100 мегабайт и йопля пользователей с их установкой (у подруги например что-то полетело в реестре виндовс и дотнет отказывался устанавливаться и переустанавливаться) — ненавижу технарей и их лень (статич. компиляция рулит — щас, чай, не 1980-ый год с 3 килобайтами ЗУ, можно и не экономить). К тому же можно перекомпилировать ядро с более минималистичными настройками.
Спрашивайте свои ответы.

Цитата: myst от октября 14, 2010, 17:55
ЦитироватьМоно давно уже продакшн-реди.
Does the production know about this? :eat:
Yes, it does. В инете всё больше и больше success stories от разных компаний :)

myst

Верно говоришь, статическая сборка — добро.

Dims

Цитата: Phersu от октября 14, 2010, 17:44
Насчёт совместимости с мс.нет - порядка 99% (всякие убогие WPF я не имею в виду — там это won't support).
Вот подобные высказывания полностью обесценивают Вашу точку зрения.

Алексей Гринь

Цитата: Dims от октября 19, 2010, 13:49
Вот подобные высказывания полностью обесценивают Вашу точку зрения.
Почему?
肏! Τίς πέπορδε;

myst


Алексей Гринь

Цитата: myst от октября 19, 2010, 15:22
Наверное, потому, что 99% — это слегка преувеличил. :)
Ну напирмер 99% это профиль 2.0
3.0 не весь

Мне кажется, 2.0 это state of the art, а дальше уже пошли всякие маркетоидные приблуды
肏! Τίς πέπορδε;

Алексей Гринь

C# прекрасен тем, что у него есть такие штуки типа valuetype classes и stackalloc. Т.е. можно писать код, который будет примерно одинаково быстр на всех VM'ах. А вот в жабке если тебе попадётся VM с хреновым аллокатором (напр. Бёма), то усё. Что если например у нас 3d-програмко, которая в один фрейм создаёт тысячи векторов, матриц и просто точек? Где-то будет жутко тормозить, а где-то летать. Разве ли это называется портабельность? :D
肏! Τίς πέπορδε;

myst

Ты опять углубляешься в гипотезы. А по факту я вижу Жабу во всех щелях, но не вижу дотНета нигде, кроме Винды. Моно — это, конечно, хорошо, но как-то уж больно неофициально. Завтра Мигель уйдёт в монастырь, и нет никакой гарантии, что оно не рипнется тут же.

Алексей Гринь

Цитата: myst от декабря 18, 2010, 10:36
А по факту я вижу Жабу во всех щелях, но не вижу дотНета нигде, кроме Винды
У дотнета и жабы, хоть они выглядят на первый взгляд одинаково, разные ниши. Дотнет это персоналки и близко к человеку (а Винда это 80% десктопов), а жаба это сервера/прочий унылый ынтырпрайз и близко к машине/сухим данным. Ты видимо плаваешь в нише жабы только. Мне вот сервера в куй не упёрлись. Я вот больше заинтересован в софте, который общается с человеком в прямом, так сказать, эфире (геймдев, формочке и проч.) И тут, мне кажется, дотнет имеет куда больше преимуществ.

Цитата: myst от декабря 18, 2010, 10:36
Завтра Мигель уйдёт в монастырь, и нет никакой гарантии, что оно не рипнется тут же.
Так же можно сказать — завтра Oracle обанкротится, и нет никакой гарантии, что оно не рипнется тут же. «Ты опять углубляешься в гипотезы». Среди активных разрабов mono тридцать человек, и Мигель там в принципе давно мало чё решает — всё крутится само собой потихоньку. Он там типа Ассанжа, короче.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от декабря 18, 2010, 11:51
У дотнета и жабы, хоть они выглядят на первый взгляд одинаково, разные ниши. Дотнет это персоналки и близко к человеку (а Винда это 80% десктопов), а жаба это сервера/прочий унылый ынтырпрайз и близко к машине/сухим данным. Ты видимо плаваешь в нише жабы только. Мне вот сервера в куй не упёрлись. Я вот больше заинтересован в софте, который общается с человеком в прямом, так сказать, эфире (геймдев, формочке и проч.) И тут, мне кажется, дотнет имеет куда больше преимуществ.
То есть андроиды всякие — это сервера/прочий унылый ынтырпрайз? ;)

Цитата: Алексей Гринь от декабря 18, 2010, 11:51
Так же можно сказать — завтра Oracle обанкротится, и нет никакой гарантии, что оно не рипнется тут же.
За Жабой стоит ещё куча корпораций, IBM например. Ну, и Google с недавних пор.

Цитата: Алексей Гринь от декабря 18, 2010, 11:51
Среди активных разрабов mono тридцать человек, и Мигель там в принципе давно мало чё решает — всё крутится само собой потихоньку.
Понимаешь, одно дело, когда проект развивают жастфофанщики, и совсем другое, когда мегакорпорации.

Алексей Гринь

Цитата: myst от декабря 18, 2010, 12:15
То есть андроиды всякие — это сервера/прочий унылый ынтырпрайз? ;)
На андроиде нету жабы. Андроид не может запустить жабовый байткод. Там только интерфейс библиотек жабовый. А в моно с помощью ikvm можно запустить не просто интерфейс, но и сам жабовый байткод. С другой стороны жаба запустить код .NET без кучи нехилых хаков не в состоянии, т.к. как виртуальная машина мелка. Есть только коммерческие костыли.

Цитата: myst от декабря 18, 2010, 12:15
ЦитироватьСреди активных разрабов mono тридцать человек, и Мигель там в принципе давно мало чё решает — всё крутится само собой потихоньку.
Понимаешь, одно дело, когда проект развивают жастфофанщики, и совсем другое, когда мегакорпорации.
С какой стати жастфофан, моной всерьёз занимается Novell; большинство из тех 30 человек — сотрудники Novell, которые работают над моно full-time; с недавних пор за проектом пристально смотрит и MS. Напр. MS открыли пару либ под свободной лицензией, и моно в свой дистрибутив их включила.

Цитата: myst от декабря 18, 2010, 12:15
ЦитироватьТак же можно сказать — завтра Oracle обанкротится, и нет никакой гарантии, что оно не рипнется тут же.
За Жабой стоит ещё куча корпораций, IBM например. Ну, и Google с недавних пор.
По-моему, Гугл в своих проектах использует чаще вообще с++ + питон, чем жабу. Про далвик см. выше.
А ИБМ не корпорация, а фигня на постном масле.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от декабря 18, 2010, 16:59
На андроиде нету жабы. Андроид не может запустить жабовый байткод. Там только интерфейс библиотек жабовый.
Так есть там жаба или нет?

Цитата: Алексей Гринь от декабря 18, 2010, 16:59
С какой стати жастфофан, моной всерьёз занимается Novell; большинство из тех 30 человек — сотрудники Novell, которые работают над моно full-time; с недавних пор за проектом пристально смотрит и MS. Напр. MS открыли пару либ под свободной лицензией, и моно в свой дистрибутив их включила.
По сравнению с корпоративной поддержкой Жабы это просто крохи.

Цитата: Алексей Гринь от декабря 18, 2010, 16:59
По-моему, Гугл в своих проектах использует чаще вообще с++ + питон, чем жабу.
Это в каких, особенно Питон?

Цитата: Алексей Гринь от декабря 18, 2010, 16:59
А ИБМ не корпорация, а фигня на постном масле.
Хренасе ты сказанул. :o
Если IBM — фигня, то что тогда Microsoft и Novell?

Алексей Гринь

Цитата: myst от декабря 18, 2010, 17:19
ЦитироватьНа андроиде нету жабы. Андроид не может запустить жабовый байткод. Там только интерфейс библиотек жабовый.
Так есть там жаба или нет?
Интерфейс жабовых библиотек не есть жаба... Тем более что и то там совместимость порядка 75% всего + много своих костылей.

Цитата: myst от декабря 18, 2010, 17:19
ЦитироватьПо-моему, Гугл в своих проектах использует чаще вообще с++ + питон, чем жабу.
Это в каких, особенно Питон?
С++ — низкоуровневый кодообезьянний код, а питон — вся логика вокруг него. Вроде так.

Цитата: myst от декабря 18, 2010, 17:19
ЦитироватьА ИБМ не корпорация, а фигня на постном масле.
Хренасе ты сказанул. :o
Если IBM — фигня, то что тогда Microsoft и Novell?
Ну IBM скуксены сильно. По крайней мере я много слышал, что софт у них хреновый весьма, индусский.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от декабря 19, 2010, 16:43
Интерфейс жабовых библиотек не есть жаба... Тем более что и то там совместимость порядка 75% всего + много своих костылей.
Кроме андроида, есть ещё смарткарты всякие, телевизоры, блуреи и прочие микроволновые печи. Там жаба тоже урезанная, но жаба.

Цитата: Алексей Гринь от декабря 19, 2010, 16:43
С++ — низкоуровневый кодообезьянний код, а питон — вся логика вокруг него. Вроде так.
Так что за проекты-то?

Цитата: Алексей Гринь от декабря 19, 2010, 16:43
Ну IBM скуксены сильно. По крайней мере я много слышал, что софт у них хреновый весьма, индусский.
В этой скуксеной конторке работников >300 000. У Микрософта <90 000. Novell на этом фоне вообще чапочная компашка.

Алексей Гринь

Цитата: myst от декабря 19, 2010, 16:56
В этой скуксеной конторке работников >300 000. У Микрософта <90 000. Novell на этом фоне вообще чапочная компашка.
Целый индусский город задействован, ок. Не в количестве сотрудников дело, а в степении влияния, доходах, и т.п. IBM полный ноль в софте, при том что пытается давать консультации в этой сфере. У Microsoft же сотрудников в четыре раза меньше, а чистый профит был больше, чем у IBM (2008 г.). Ну вот когда последний раз человеческое существо пользовалось софтом от IBM? Хз. Я же с поделиями Microsoft имею дело постоянно. Так что мнение IBM в этом плане совершенно ничё не значит. Novell же в мире Линупсей второй после Red Hat'а...

Цитата: myst от декабря 19, 2010, 16:56
ЦитироватьИнтерфейс жабовых библиотек не есть жаба... Тем более что и то там совместимость порядка 75% всего + много своих костылей.
Кроме андроида, есть ещё смарткарты всякие, телевизоры, блуреи и прочие микроволновые печи. Там жаба тоже урезанная, но жаба.
Только это уже не имеет отношения к вышеобозначенной идее... Я ведь не говорил, что жаба вообще не используется. Поскрести по сусекам всегда можно :)
肏! Τίς πέπορδε;

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр