[Ffmpeg-devel] Re: FFMPEG code a mess

Gábor Farkas gabor
Mon Sep 19 09:10:56 CEST 2005


Rich Felker wrote:
> On Mon, Sep 19, 2005 at 12:19:09AM +0200, G?bor Farkas wrote:
> 
>>>>if it's your opinion, why do you think that java's such a bad choice
>>>>for an OOP language?
>>>
>>>
>>>Java can be handy sometimes, but there are a few things that annoy me:
>>>
>>>- Everything has to be an object.
> 
>      ^^^^^^^^^^
> 
> I have a feeling he was not talking about data types, but procedures
> and other non-data things.
> 
> 
>>but isn't it the same in C?
>>you have some basic types and then you have to create structs. in which 
>>way is it different from classes?
> 
> 
> You have code that is not part of a class.

well, technically you can use static methods in Java, which behave 
exactly like functions (like static methods in C++).

i agree that they're not the most beautyful things, but they are there 
at least ;)

> 
> 
>>>- No unsigned types.
>>
>>why do you need them? what would  you like to do with them?
> 
> 
> This question is so ignorant that someone asking it should not be
> coding.

hmm, finally. this is how REAL mplayer developers argument. how much i 
missed it :>>

i can understand the problem when interfacing with binary formats.

but i can also understand why the language designers tried to reduce the 
number of data types.

look at C++ for example, what an overcomplicated language it is.
(btw. are there ANY compilers that implement the FULL ansi c++ standard 
today? i stopped following c++ 2years ago, so things maybe have changed 
since).

fewer features means easier implementation and easier testing.

imho the java designers tried to come up with a simpler language (one 
could argument that originally java was designed for toasters and tv 
sets ;).

of course for people like the developers here, who mostly do numerical 
computations as needed by video-compression, this seems to be a big lack.

i agree that java is not the best language to write video-processing 
libraries.

but there are many fields of informatics, where while you solve 
problems, you only need to think about integer numbers as integers, and 
you're not interested in how high it can be.

many times i simply need an integer data type. ideally i'd like to have 
an integer data type that starts as a byte, and grows as needed, 
transparently. and if the runtime-engine/compiler would do some 
profiling too, to find out what is the optimal 'machine-level' data type 
  for 'my' integer, that would be even better ;)

you could argue that this way the code i write will never be fast.
i personally work like this:
- i try to create my algorithms as asymphotically (is this the correct 
term?) fast enough (so it's not n^2, but only n*log(n) for examlpe)
- then i implement it and measure it. if it's fast enough i continue 
with my work, if not fast enough, i go back and try to make it a little 
faster.
because there are so many other aspects that need thinking (concurrency 
for example), that i simply don't care about those number-types if they 
are 'fast enough'.

and btw, before you call me a java fanatic, i am not. my preferred 
language is python.

>>>Have you ever used Java for anything serious?
>>
>>yes, i worked as a java developer for 2-3 years..
> 
> 
> That doesn't answer the question. Making shit rad/gui/web/... stuff in
> a corporate setting is not serious use.

hmmm, did you infer this from my response to the 'unsigned' question?
;)

no, i did not do any rad/gui stuff. i worked on a server software which 
also did some HTTP (not HTML), i am not sure if that counts as 'web' for 
you.

gabor





More information about the ffmpeg-devel mailing list