Thursday, November 17, 2005
Interesting commute
This morning started out pretty crummy. On tuesday/thursday, I normally take the 8:38AM downtown. This morning I missed it and had to take the one about 20 minutes later. I ran into Claudiu at the train station, who apparently normally takes the later train.
We were going over some system hardware stuff on the train. Bit shifting, binary operations, the like. In my sleep deprived state I stupidly confused AND and OR and tried to explain AND to Claudiu as outputting a one when either of the inputs are 1.
The guy sitting accross from us looked up from his magazine (WIRED, I think), and mentioned that I was describing OR. I was somewhat surprised that a stranger on the train would know anything about binary operations, but it turned out he was a senior programmer at GameLoft, Ubisoft's cell phone game division. We had quite an interesting, albeit short discussion about the use of assembly in modern programming, as well as cell phone development platforms.
He actually mentioned that Jamdat (their direct competitor) had written translators to translate code between J2ME, Symbian, and BREW. They write code in either Java or C++ for any of the three platforms, and their framework handles translation to the other two platforms, including a language port if required (C++ --> Java or Java --> C++). I'm surprised they are able to pull that off, but I guess they do.
He also mentioned something else I've read before, which is that J2ME's primary "advantage", write-once-run-everywhere, is totally nonexistant. Developers have to maintain seperate versions of their J2ME apps for every single cellphone, even from the same company. Oh, and J2ME isn't JIT compiled (with very few exceptions), so it's dog slow compared to BREW and Symbian apps too. But we already knew that ;)
Of course, the more practical information from the discussion was that Ubisoft and GameLoft hire a lot of people from Concordia, and take a lot of Concordia co-op students who are in their last year.
We were going over some system hardware stuff on the train. Bit shifting, binary operations, the like. In my sleep deprived state I stupidly confused AND and OR and tried to explain AND to Claudiu as outputting a one when either of the inputs are 1.
The guy sitting accross from us looked up from his magazine (WIRED, I think), and mentioned that I was describing OR. I was somewhat surprised that a stranger on the train would know anything about binary operations, but it turned out he was a senior programmer at GameLoft, Ubisoft's cell phone game division. We had quite an interesting, albeit short discussion about the use of assembly in modern programming, as well as cell phone development platforms.
He actually mentioned that Jamdat (their direct competitor) had written translators to translate code between J2ME, Symbian, and BREW. They write code in either Java or C++ for any of the three platforms, and their framework handles translation to the other two platforms, including a language port if required (C++ --> Java or Java --> C++). I'm surprised they are able to pull that off, but I guess they do.
He also mentioned something else I've read before, which is that J2ME's primary "advantage", write-once-run-everywhere, is totally nonexistant. Developers have to maintain seperate versions of their J2ME apps for every single cellphone, even from the same company. Oh, and J2ME isn't JIT compiled (with very few exceptions), so it's dog slow compared to BREW and Symbian apps too. But we already knew that ;)
Of course, the more practical information from the discussion was that Ubisoft and GameLoft hire a lot of people from Concordia, and take a lot of Concordia co-op students who are in their last year.