Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Jul 2020 18:39:26 -0400
From:      Aryeh Friedman <aryeh.friedman@gmail.com>
To:        Don Wilde <dwilde1@gmail.com>, Brandon helsley <brandon.helsley@hotmail.com>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: Petite Cloud, CBSD, Intellij
Message-ID:  <CAGBxaXn9tq6hbbNdjn_iqSiSr74exO1G-M9=eyP6YHykQ8QctA@mail.gmail.com>
In-Reply-To: <8fcd60d7-1de1-82dc-d840-2555663ac153@gmail.com>
References:  <CY4PR19MB01049FDF137BD70941429DB8F9600@CY4PR19MB0104.namprd19.prod.outlook.com> <5a761348-fb9f-5cf3-e035-7ba42afcb221@gmail.com> <CAGBxaX=QvJqSycQJrq3RmFJ57E=ebSY6sG2BTXpUKBP5jpqw6g@mail.gmail.com> <8fcd60d7-1de1-82dc-d840-2555663ac153@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 13, 2020 at 6:16 PM Don Wilde <dwilde1@gmail.com> wrote:

>
> On 7/13/20 2:49 PM, Aryeh Friedman wrote:
>
>
>
> On Mon, Jul 13, 2020 at 12:46 PM Don Wilde <dwilde1@gmail.com> wrote:
>
>>
>> On 7/13/20 5:59 AM, Brandon helsley wrote:
>> >
>> >
>> >
>> > Hi Aryeh, I wanted to ask you a few questions. I remember you telling
>> me about the program petite cloud and was wondering if you would show me
>> how it works. I found CBSD and Intellij projects and want
>
>
> I will answer this as a separate message later today.
>
> to know more about how they work too and find anymore programs available
>> on freebsd like these if you know of any. Could you remind me of how to
>> change the settings in thunderbird so I'm not top posting and replying
>> correctly too?
>> >
>>
>> Actually, I see evidence in the ports tree that there is some support
>> for hosting JetBrains' IDEs on FreeBSD, but I haven't looked hard as I'm
>> not building a desktop at this time. Since they are written in Java,
>> that should not be difficult.
>>
>>
>> # find /usr/ports -name "*jetbrains*"
>>
>> # find /usr/ports -name "*intellij*"
>>
>
> There are a number of Java IDE's in the ports collection... everything
> from the (bad) attempt to do everything and be everything to everyone of
> Eclipse to the simplicity of BlueJ.  Almost none of them quiet "work".
> They all have some serious sort coming, e.g. all of them I have tried
> except BlueJ can't produce a standalone executable jar to save their lives
> nor do many of them give you freedom to use whatever tools you want under
> the hood (i.e. version control can only be done via git and none play well
> with batched build systems).   That's why I don't use a IDE I use the
> command line, it is a lot more powerful/more portable in the long run then
> any IDE ever will be (unless you count the semi-integrated one I have put
> together by hand consisting of tcsh, java/openjdk8 [slowly playing with
> moving to a higher version], www/tomcat9 [tomcat is typically the target of
> my code], editors/vim, devel/cook, devel/aegis and devel/fhist [note I am
> the maintainer of the last 2]... I usually don't need to but I also can
> bring out the big guns for debugging like java/visualvm and java/jad).
> Note cook/aegis/fhist are unorthodox when used with Java but I can (and
> often will) make strong arguments to why the "official" tools *SUCK*.
>
> All this being said if you feel more comfortable with an IDE while
> learning Java I recommend BlueJ it is designed for teaching Java but has
> all the features you need to make full fledged applications of any size
> with (when I was in school I even implemented a interpreter for a teaching
> language I designed and wrote a visual Turing Machine simulator with it...
> both non-trivial applications).   BlueJ has one "killer feature" in my mind
> and that is it is the only IDE I know of that will automatically
> draw/update a simplified UML class diagram of your code (very useful if you
> are in the very early stages of the class level architecture of a larger
> app).    For more info on BlueJ (and the book mentioned below) go to
> bluej.org .. last note BlueJ is one of the few that actually produces
> working executable standalone jars.
>
> If you are learning Java and even if you don't use BlueJ I recommend the
> entry level (no programming experience needed) textbook written by the same
> person who maintains BlueJ upstream. "Objects First with Java: A Practical
> Introduction Using BlueJ (6th Edition)", David J. Barness, Michael Kolling,
> Pearsons, 2016, ISBN: 978-013-447736-7 ... it is the book I used when I
> learned Java even though I had been programming for 20 years at the point I
> found the book a breath of fresh air in terms of how things are covered.
> Even though I have not read it yet (I have read other more advanced books
> in the same series) another good learning source is "Head First Java"
> (O'Reilly ... don't have a full citation on hand).
>
> I've never used IntelliJ itself, only Eclipse for Java and Enterprise
> Architect (payware).
>
> MPHO is that I stay as far away from Java as I can, although I do use
> tools _written_ in Java like RubyMine (and Eclipse).
>
> I was tasked with maintaining the JVM for a large IoT project (mainly
> because nobody else would touch it; they _knew_); Java7 was used both for
> the Things and the Internet analytics servers. The JVM is written (as is
> OpenJDK) in layer upon layer of code, and what we discovered was that one
> layer or another was always being broken by all the various open source
> developers. When our CEO laid off all my backups to please Wall Street, I
> gave my notice. Java has many slick features, but it takes a _lot_ of Java
> coders to get anything big done. YMMV.
>

Then whoever you hired to do the coding is/was *INCOMPETITENT* I am a team
of 2 that maintains a EMR (medical records) system with IoT support (200+K
lines code, as per our code coverage tool) the IoT is portable long term
(upto 30 days) cardiac testing equipment that communicates via the cell
network and it works just fine.   The above even includes a custom JSON
driven heiractical API/DB package (part of PetiteCloud).   The above EMR
has been in service for over 8 years now and uses OpenJDK 8 and Tomcat 9 on
FreeBSD 12.1 (was on 11.X and 10.X before that).

I really wish people who never learned how to use Java correctly (IDE
generated code *IS NOT* correctly) would reserve judgement on the language
before seeing it in an environment it was designed for (not one it was not
designed for) and despite Oracle's claims it's natural home is webapps w/
very deep backends.   Side note Java has succeeded because it is a good
language, one the few that "serious" software engineering can be done in
(C/C++ are very difficult in this regard due to inherently unsafe features
like pointers and goto), not because it has "slick" features.   In other
words it has succeeded despite Sun/Oracles best attempts to completely
mismanage and mismarket the project!

>
> pkg install bluej... number of packages to be installed: 47. Wow. I think
> not. :)
>

Which is no worse than any other GUI based app (you would never use an IDE
outside of a GUI anyways)... from a machine that already has xfce4 set up
and running and nothing more than openjdk8 installed on the Java side I get
(keep in mind I normally use portmaster and sometimes there are small
disagreements between it and pkg thus the total install is likely smaller):

root@neomarx:~ # pkg install bluej
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100%    916 B   0.9kB/s    00:01
Fetching packagesite.txz: 100%    6 MiB 822.9kB/s    00:08
Processing entries: 100%
FreeBSD repository update completed. 32009 packages processed.
All repositories are up to date.
Updating database digests format: 100%
The following 5 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
dee: 1.2.7_16

New packages to be INSTALLED:
bluej: 4.1.1
openjfx8-devel: 8.u202.b07_6,1

Installed packages to be DOWNGRADED:
akonadi: 20.04.3 -> 20.04.2
sndio: 1.7.0 -> 1.6.0

Number of packages to be removed: 1
Number of packages to be installed: 2
Number of packages to be downgraded: 2

>
> <flame bait> Personally, I like the LLVM-based CLANG and Crystal. Most of
> the installation time comes from the various versions of LLVM being
> requested by the HLL. IMHO, the LLVM is a much more flexible and accessible
> virtual execution engine than Oracle's Java and JVM. </flame bait>
>

C/C++ most certainly are not beginner friendly languages and the OP is
someone who has never done programming before.


-- 
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGBxaXn9tq6hbbNdjn_iqSiSr74exO1G-M9=eyP6YHykQ8QctA>