hey yall
if i were to write apps the smaller the better id think
so what programing language makes the smallest program?
just wondering
thanks
Printable View
hey yall
if i were to write apps the smaller the better id think
so what programing language makes the smallest program?
just wondering
thanks
You might be able to write the smallest in ASM. However, modern compilers are likely to generate better code that you can create by hand, so C would probably make the most compact exe.
However, why do you think the smaller the better?
apps are alot smaller in size
size only matters if its to be downloaded. Unless its so big it doesnt fit on a cd
I won't mind it until the next version of the .NET Framework is released. Then, if I want to stay updated, I will once again have to care about the Framewok hell.
If you use .NET, you will never be able to produce a piece of software which can run on a pendrive, as you can't know whether the final user has the FW installed on his machine.
So, to answer the original question that originated this thread (if I were to write apps, the smaller the better I'd think. So what programing language makes the smallest program?), all we can say with absolute certainty is, .NET is the last language on earth that can help you make small programs.
Framework hell? That's in interesting comment about .Net. I have yet to see where 1 version overwrites and screws up another version of .Net, since they're all installed side by side there's really no problem, but you call that flexibility a 'hell'? That just seems really far fetched. I've seen the Frameworks fix a heck of a lot more than any problems they've caused. I guess it's just a matter of preference really, then again no one's forcing you to program w/ .Net either so if ya don't like the hell it brings, there's plenty of other languages to choose from.Technically you can't do that with any language really, but yes it is a bit of a problem if that's what you need to do right now and you're a .Net programmer.
By "Framework hell" I simply mean the fact that the final users needs to have the right version of the FW installed on his computer to be able to run your application.
I know there are plenty of other languages to choose from. I have been using Delphi for more than two years by now and I can assure you that the idea of switching to .NET has never hovered on the edge of my mind.
Believe me, creating standalone programs that can be run from a pendrive can be done in Delphi without any problems.Quote:
Technically you can't do that with any language really, but yes it is a bit of a problem if that's what you need to do right now and you're a .Net programmer.
I think Framework 4 contains all the components of Framework 3.5 (ie. previous versions) plus additional features... So, there will be no need of installing separate versions. Just install the latest version....
(I don't know much about that...:) Pardon me if it is wrong.. :)) ...:wave:
Nope, Framework 4.0 is only Framework 4.0 additions to the Framework stacks.
Everything that runs in the Framework 4 is actually running on the 2.0 Framework, which is why it's a requirement to have the 2.0 Framework installed in the first place. This is also how Framework targetting in VS 2008 and VS 2010 is possible too.
Here's roughly what's going on: 2.0 <- 3.0 <- 3.5 <- 4.0, what this means is you have to have the 2.0 Framework installed to install the 3.0 Framework. You have to have the 3.0 Framework installed to install the 3.5 Framework. And you have to have the 3.5 Framework installed to install the 4.0 Framework.
Now with Win7 having the 2.0, 3.0 and 3.5 Frameworks pre-installed (Vista has the 2.0 and 3.0 preinstalled) it's taking the load off of the end user to install all those frameworks because now the largest of them are already installed and thus they only need to install 1, maybe 2, frameworks to be kept up to date (as of now, 3 years from now this wont be the case, but the newest MS OS will have come out with the 4.0+ pre-installed)
Framework 3 and 3.5 can be thought of as framework 2 service packs. Framework 4 will get extended too and the next version will be like a sp for fw 4.
There is no such thing as "framework hell". You can easily detect which framework is installed and prompt the user to download/install anything that is needed. You can even package it along with your app. Its not large and will fit on a thumbdrive. Thumbdrives are up over 32Gbs now and I highly doubt anyone here has anything over the size of a CD for their app. So size really doesnt matter anymore.
There will ALWAYS be dependancies. If you are not writting in .NET then you still have dependancies. You can not rely upon any kind of runtime being installed. Who knows whats been installed or removed. If you use customerr dlls or controls etc you will need to deploy them too. Just realize that its part of being a good software developer.
There are millions of poeple watching/downloading youtube videos that are larger then most programs people here as well as the .net framework. Of course you need to know your audience but its 2010 and no longer 1998
Right, because all languages require that their runtime files are on the computer for them to run. This is true of all languages and with .Net those runtime files are all contained in the Framework plus the CLR needs to be installed an be running, but this concept isn't new because Java's been around since '94If the c/c++ (I forget which one of those Delphi uses on the backend) libraries aren't on the system, then your Delphi app's wont run from a flashdrive either, however the likelihood of those libraries (the runtime files) not being on the system is extremely small (small enough for this to never be an issue) because all 3 major's OS's not only have them, but are made in c/c++ as well. However, I'm trying to get the point across that just because you program in Delphi doesn't mean there's no runtime files that make it happen, it's just that Java and .Net have whole Frameworks instead of a couple small dll's.
I really think the Framework is discriminated against. If it wasnt nicely packaged for us and left as several dependancy dlls then it would be the same as VB6 or Delphi etc. Its all about package perception here and the arguments against the Framework just dont hold water.
In all honesty, with the speed of home Internet Connections (In the UK about 8mb is standard now and we are behind the rest of europe) and the price of storage being so cheep, I doubt you will create an application (Of pure code) that will cause an issue.
@Rob: I agree, never had an issue with the framework. (Edit: I suppose thats because I havent written a Desktop app in about 2 years.)
It might be interesting to hear about .Net Framework distribution and versioning issues from people who produce widely used applications.
Things like Introducing the .NET Framework Client Profile show that there are at least some issues here, and covers one approach to helping withit for some classes of applications.
.NET Framework Size is old now, but shows that the issue was serious enough to get people arguing over compression techniques out of desperation. VSTO Deployment Error: The required version of the .NET Framework is not installed on this computer may merely be dealing with a subtlety few people will encounter. Easing .NET Framework deployment for Windows Forms and WPF discusses the issues briefly and also points toward using the "Client Profile."
Of course aside from the vast differences in size, this is similar to coping with VC runtimes in the past or VB runtimes during the interval when VB 4, 5, and 6 were all in common use.
Maybe those creating .Net applications for wide distribution can target a "least common denominator" much as Java programmers do for desktop software? Perhaps that's what the "Client Profile" is headed toward?
As far as the original question goes... it's a little strange in some ways. "Size" usually isn't much of an issue today except for runtime requirements baggage. An exception might be code for embedded controller, computing "appliance," and mobile device development.
Historically threaded interpreted language systems produced very compact programs. Forth was notable for this, often beating out hand coded assembly language programs. Many interpreted Basics always did well too, expecially the versions stripped down for Integer-only support.
A large VB6 program compiled to both p-code and native code will often show significant savings in size in the p-code version. On machines just a few years back with sub-gigabyte RAM or in server situations today the p-code version can even be faster because reduced code footprint reduces load time and paging.
I agree, however how big becomes a problem? I've just downloaded over 5 gig of MS software from MSDN - no issues.
Your right, I havent directly had to deal with this, but being a user, I dont see an issue with downloading a file < 500 Meg
I suppose my question is in 2010 how big would you considor an issue?
Firstly, to download hundreds -- but even tens -- or megabytes takes some time. The problem is, if the occasional customer can find an alternative piece of software that does the same job as yours in less time and space, he will very likely opt for the smaller one.
Secondly, if the occasional user skips your advice to download the FW, your software won't run. And that means you have lost a customer.
Thirdly, the answer to one of the most recurrent questions my customers usually ask me (Can I run your application on a pen drive?) would be negative if I developed in .NET.
Thanks for the info.... :wave:
Isn't it possible to create portable VB6 applications..??? By adding all the component files necessary for running the EXE, in the same folder...??? And moving the entire folder via a pendrive..???
(I had seen this in FolderLock software or something...)
What kind of software do you sell Esposito ? i take it you sell directly to the public rather then to companies ?
Where i work we make and sell enterprise applications and so don't have the same problems as you if the .Net framework is not already installed then we can get them to roll it out no problem.
Also we generally write software for Lawyers who for some reason LOVE .Net even though most of them probably don't really know what it is, what they do know is it makes nice shiny programs which is what they do like !
You can make "nice shiny programs" also with Delphi or VB6. You just have to be graphically talented. The rest is just a question of managing data, which could be done in tens of different programming languages.
I sell my software directly to the general public, that's why, in my case, native applications are much more suitable than managed ones.
I think that, if you just place the OCXs in the app folder, they get registered automatically, I mean without creating a setup procedure. So, in theory, you could create a portable application in VB6. Nevertheless, registering libraries without asking the final user for confirmation would not be very professional. As far as I am concerned, I just avoid using OCXs completely.
The other way you can do this is via reg-free COM. Then you don't risk breaking other applications on the users' machines by having components registered on a removable device - that might be removed.
I assume "pendrive" is some term meant to describe removable media like CDs, flash drives, USB HDs, etc. Or is this something else entirely?
Well, we seem to have run off flyhigh, and now we may never know what this question was originally about. However, it has started straying into the familiar territory of 'dependencies'. Since we have gone there, it dawned on me that it has been many years since I have written a program that would run on anything other than Windows, which means I have one MASSIVE dependency that none of my programs would do with out....oh wait, some run on a PIC microprocessor, so I guess it has been only a few months.
The point is that nobody has yet mentioned a program that doesn't run with a HUGE dependency. We are quibbling over whether the dependency is just HUGE, or HUGE plus a little. Everything we are writing is hosted in some environment, whether it is Windows, a web browser, or even a robot (my PIC microprocessor example). The program is meaningless in the wrong environment, and every program needs some environment. Esposito bases his programs on an expectation of a minimum set of capabilities for the environment in which they run. I do the same thing, of course, which is why I use .NET. The pool of users will have the framework by the nature of their existence, so that is a viable expectation on my part. Of course, the set of expectations between Esposito and I are more similar than dissimilar, but there is a tendency to overlook that OS as one of the dependencies, even though that hasn't been a valid omission since the days of DOS.
Hunh, I just noticed that one of the words in that last post got turned into a link, and an advertising link at that. Wasn't my doing.
PenDrive, FlashDrive, ThumbDrive all refer to the same thing: USB Flash Drives
Aha, you see there is the problem right there most programmers are not graphic artists (at least i am not anyway :) ) so unless the company you work at employs a graphic artist (which many don't) then VB6 or Delphi programs can look dated.Quote:
You can make "nice shiny programs" also with Delphi or VB6. You just have to be graphically talented.
Also Lawyers seem to have been sold on .Net, its the Buzz technology in the legal sector.
Still as has already been said in this thread it really is all about knowing your own market, everyone customers are different.
In Italy, we use the English compound word "pendrive" to refer to what is also known as "flashdrive". Honestly, I thought the two words were both commonly used in the Anglo-Saxon world, but if dilettante was unable to understand it, I assume "flashdrive" is the way you usually call it.
Actually, in Italian, we have a lot of linguistic loans dealing with technology taken from English. Just to give you some examples:
- Hardware
- Software
- Shareware
- Freeware
- Open source
- Bit / Byte / Kilobyte / Megabyte etc.
- Bug
- Crack
- Upload
- Download
- Streaming
- Driver
- Database
- Record
- Computer / PC
- Notebook (computer)
- Monitor
- Playstation
- Decoder
- Router
- LAN
- Client / Server
- ADSL
- ISP
- IP
- CPU
- Proxy
- Wireless
- Cache
- Mouse
- Modem
- Display
- Webcam
- File
- Directory (but not "folder"!)
- Backup (only in the meaning of "backup copy"!)
- Hard disk
- Floppy disk
- CD / CD-ROM / DVD
- Chip
- Dual Boot
- Bitmap, Jpeg, Gif (and other common file types and extensions)
- Desktop
- Taskbar
- Browser
- Internet / Web
- Homepage
- Link
- Email / Account
- Password
- Chat
- Call Center / Web Center (Please note the American spelling of "Center")
- Newsgroup
- Newsletter
- Mailing list
- Webmaster
- Cookie
- Log in / Log out
- On-line
- Firewall
- Antivirus, etc.
So, if you come to Italy and use one of the words above, everybody will understand you.
In some cases, the English word has also an equivalent in Italian (e.g. "pendrive" or "chiavetta USB"). In other cases we only have the English word (e.g. there is no Italian equivalent for "mouse", "hardware", "software" etc.). Finally, we have hundreds of English acronyms that most Italians use without knowing their original meanings.
Pen-Drive in the UK too ;)
It is... it's just not the commonly used word. Thumbdrive or flashdrive are the common words. Blame marketing.
-tg
Here in the States & Canada, we call them FlashDrives, the only reason I can think of to why we call them that is probably because the chips in the Pen/Flash drive are T-Flash chips and since they're registered/mounted on all computers as a drive (i.e. It's given a drive letter) we merge the two terms together and get 'FlashDrive' for short.
But I can also understand the term PenDrive, probably because it's so small you can carry it in your shirt pocket with your pens and pocket protector. This just shows the differences of worldwide communication, which is kind of a neat thing to sit back and study sometimes.
But yes, typically I hear it called 'FlashDrive' the most often. I also see American companies sell them as 'ThumbDrives' too, but that's become less common of a term the last 4 years.
I've never really seen 'PenDrive' used in the US at all, I've seen people use it here in the States, yes, but those people are usually of another nationality, ie British/English, the UK, Australia but not American-Americans. We use 'FlashDrive' and the almost dead term 'ThumbDrive'
Thank you very much for your linguistic help. As an English teacher in an Italian military school (my main job), it is very important for me to keep myself up to date with technical terminology. I was wondering whether in the UK the word "flashdrive" is also used to some extent.
P.S. In this picture you can see me with my students and a colleague of mine from London.
I think in the UK we would know, flash-drive (Techy end of the spectrum) Pen-Drive (Every day user), I've also heard it incorrectly called a USB Dongle.
Pino