?

Log in

No account? Create an account
client question - LiveJournal Client Discussions [entries|archive|friends|userinfo]
LiveJournal Client Discussions

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

client question [Apr. 9th, 2003|09:18 pm]
LiveJournal Client Discussions

lj_clients

[grayhawk]
okay....now that I think I found the right place to ask this....
Which of these would be the easiest to write a client in?
Microsoft Visual Basic | C++ | J++ (all 6.0)
Borland Delphi 6

I'm guessing Visual Basic, but not sure.
thank you for your time
linkReply

Comments:
[User Picture]From: nostrademons
2003-04-09 08:16 pm (UTC)
As someone said when you posted on LJ_dev, it really depends what you're most familiar in. I'm going to assume you're basically a novice in all 4 for this post: otherwise you'd just go with whatever you have the most experience in.

Visual Basic is easy to learn, but if you get to any advanced programming with it, you'll find yourself beating your head against the language a lot. Is it appopriate for your client? Well, that depends how complicated you anticipate your client becoming. If you just need to present a user interface and then make client-protocol calls to handle user actions, VB's will let you do that very easily. If you need to do actual processing of data, I wouldn't recommend it. The language itself seems too weak (in my fairly limited experience) to support that.

Also, if you anticipate your client growing a lot in the future to encompass new features, I wouldn't use VB. I have friends that've done mildly-moderately complicated projects (like AIM bots) in it, and they quickly lost track of the code. VB's abstraction mechanisms are not as powerful as those of some other programming languages, so it gets tough to write large programs.

C++ is a tough language for a beginner to pick up. The syntax is horrid, and it can sometimes make you deal with details at a pretty low level. You'll have to handle all the memory management yourself, for example. It can be immensely useful for someone who knows what they're doing, but I wouldn't recommend it for beginners. Also, it's easy to pick up bad habits if you start with C++ without knowing the fundamentals of structured programming and object-oriented design.

Java (which J++ is based on and kinda-sorta mimics) is a fairly decent language. It's similar to C++, but has been simplified enormously, and basically forces you into learning object-oriented programming. My college teaches most of their courses in Java; IMHO it's a fairly good teaching language, though I wouldn't call it the be-all-and-end-all. It'll still be a fair bit more difficult than if you had programmed in VB, but it gives you more power in the long run.

I don't have any personal experience with Delphi, but I've heard lots of good things about it. Maybe Mark (xb95) will comment...he did a client in Delphi, one that's gotten pretty good reviews from LJ users.

Also, expect a lot of different answers to your question. Everybody has their own personal language preferences, and often people don't see eye-to-eye on the advantages of different languages.
(Reply) (Thread)
[User Picture]From: grayhawk
2003-04-09 08:27 pm (UTC)

actually...

I'm familiar with all of them. (some more than others)
I don't know Java very well....but it's not all that complicated.
And...you are absolutely right, code is hard to keep track of every now and then in VB, but I never had a problem with it.

C++ doesn't seem like a bad idea....but I don't like the syntax.

Delphi is fun...lots of stuff I can do there. I just don't know which one would be easiest. What was the client he did?
(Reply) (Thread)
[User Picture]From: nostrademons
2003-04-09 08:37 pm (UTC)

Re: actually...

LochJournal. The website for it seems to be down, but he mentions it on his personal site.

I'd say that Java is definitely easier than C++. Java vs. VB depends on how complicated your project is...I'd put the break-even point at maybe 1000 lines of code. As I said, I can't judge Delphi. From what I've heard it's slightly easier than Java, slightly harder than VB (though not much), but it doesn't have complexity problems like VB does.
(Reply) (Parent) (Thread)
[User Picture]From: xb95
2003-04-10 02:18 am (UTC)

Re: actually...

Yeah, we moved the site to the community as it didn't make sense for us to host it. :)

Anyway, I use Delphi. While I won't say it's easy, it's definitely easier to learn the language and interface and such than using C++/C#/Java of most any variety. Pascal makes more sense and is easier to read than the others. Granted, you can't do uber-l337 things like using trinary notation (the thing with ? and :), but it suffices for everything else I've found. Visual Basic would probably be easier, but you'd likely get frustrated from an inability to do things very easily. VB just tends to get horribly complex as you want to do more and more complicated things.

So... yeah. I use Delphi 6 for LochJournal, it's never given me many problems. There's a wealth of free components out there that make developing things easy, and books are available too. Also, it's just good to get more people using it, so that Borland stays in business. :)
(Reply) (Parent) (Thread)
[User Picture]From: benzado
2003-04-09 09:05 pm (UTC)
The correct answer is: the language you know best.

If you don't know any programming language, you should pick a smaller project to get started on while you learn a language.
(Reply) (Thread)
From: ex_snej373
2003-04-09 09:26 pm (UTC)
Is this just a toy for yourself, or a real project you want other people to use?

If the latter, my spoilsport opinion is that the world already has a large number of LJ clients; it probably isn't clamoring for more unless you have some really incredibly unique idea. Wouldn't it be better to find an existing open source client and contribute to it?

And a non-spoilsport opinion: the best protocol for a client to talk to LJ is the XML-RPC interface. So pick a language/framework that has support for XML-RPC, either built in or as an add-on library. Otherwise you'll be stuck with the really annoying low level details of data parsing (probably via the flat interface, which is easier to parse from scratch than XML-RPC is.)
(Reply) (Thread)