From: Yuri Khan <yuri.v.khan@gmail.com>
To: "help-gnu-emacs@gnu.org" <help-gnu-emacs@gnu.org>
Subject: Re: Check for redundancy
Date: Sun, 28 Jun 2015 22:35:02 +0600 [thread overview]
Message-ID: <CAP_d_8XwUs_Rcw5N-GZ-_=7Ye-pG3D-YMDF2aLWJ-aXu+Kj4gA@mail.gmail.com> (raw)
In-Reply-To: <87twtrn86z.fsf@nl106-137-147.student.uu.se>
On Sun, Jun 28, 2015 at 9:50 PM, Emanuel Berg <embe8573@student.uu.se> wrote:
> <tomas@tuxteam.de> writes:
>
> Indeed. For untyped languages, why put the types in
> code where they aren't actually types anyway? And for
> typed languages, why put them in code where they still
> aren't types and even more, where they can indicate
> the *incorrect* type as well?
There are still reasons to use Hungarian notation, because even the
most strongly typed languages in common use are not strongly typed
enough. (Haskell is or can be persuaded to be, but my employer is not
ready to embrace Haskell.)
1: Every time I have to work with two or more coordinate systems that
use the same axis names (typically X and Y). E.g. a mathematical plane
and pixel coordinates relative to a window and/or a monitor and/or a
workspace. Eventually I start naming variables starting with “wx, wy”
for window, “sx, sy” for screen, etc.
2: Strings in different encodings. E.g. the Python (2.7) web framework
I use gives me Unicode strings, then I want to map them to filenames
and thus have to encode them to UTF-8, and later I need to send an
urlencoded header to the web server. Pretty soon Unicode strings get
the u_ prefix, UTF-8 strings get u8_, filenames from the user-provided
zip file (that are labeled in the zip file directory as cp437, but
actually are windows-1251 in most of my cases, but I can’t rely on
that and have to implement a heuristic) get yet another prefix.
3: Local and UTC times, if you are unfortunate to have to deal with them.
4: Measurements that are in neither SI nor common use units. (A
routing algorithm I used to work with had a parameter expressing the
estimated pedestrian speed. It typically had a value of 56. The unit?
Centimeters per second, of course. The common speed unit is km/h
here.)
Without carefully labeling each affected variable, after a month of
not touching the codebase, it becomes impossible to make modifications
without breaking anything.
Note that this isn’t the Systems Hungarian many people are used to,
which encodes the actual type. It’s Applications Hungarian, where
variables that have the same physical type get different prefixes
after their conceptual type.
next prev parent reply other threads:[~2015-06-28 16:35 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-24 9:29 Check for redundancy Andreas Röhler
2015-06-24 13:23 ` Drew Adams
2015-06-24 14:55 ` Andreas Röhler
[not found] ` <mailman.5580.1435157733.904.help-gnu-emacs@gnu.org>
2015-06-24 18:21 ` Stefan Monnier
2015-06-24 21:10 ` tomas
2015-06-25 3:23 ` Stefan Monnier
2015-06-25 7:47 ` tomas
2015-06-26 15:01 ` Emanuel Berg
2015-06-26 20:25 ` Marcin Borkowski
2015-06-26 22:48 ` Emanuel Berg
2015-06-27 12:11 ` Robert Thorpe
2015-06-27 13:12 ` tomas
2015-06-27 23:02 ` Emanuel Berg
2015-06-28 11:07 ` tomas
2015-06-28 15:50 ` Emanuel Berg
2015-06-28 16:35 ` Yuri Khan [this message]
2015-06-28 20:03 ` Emanuel Berg
2015-06-28 21:38 ` Robert Thorpe
2015-06-28 23:47 ` Emanuel Berg
2015-07-02 23:37 ` Robert Thorpe
2015-07-03 3:36 ` Yuri Khan
2015-07-03 6:41 ` Eli Zaretskii
2015-07-03 11:48 ` Yuri Khan
2015-07-03 12:16 ` Eli Zaretskii
2015-07-03 22:59 ` Robert Thorpe
2015-07-03 6:09 ` tomas
2015-07-03 19:56 ` Emanuel Berg
[not found] ` <mailman.6215.1435903802.904.help-gnu-emacs@gnu.org>
2015-07-03 6:38 ` Rusi
2015-07-03 7:54 ` tomas
2015-07-03 8:55 ` Loris Bennett
2015-06-24 23:31 ` Emanuel Berg
2015-06-25 2:03 ` Óscar Fuentes
2015-06-25 2:07 ` Emanuel Berg
2015-06-25 2:53 ` Óscar Fuentes
2015-06-25 3:21 ` Emanuel Berg
[not found] ` <mailman.5603.1435188769.904.help-gnu-emacs@gnu.org>
2015-06-25 7:43 ` Stefan Nobis
2015-06-25 8:52 ` Andreas Röhler
2015-06-26 14:51 ` Emanuel Berg
2015-06-26 14:39 ` Emanuel Berg
[not found] ` <mailman.5719.1435329683.904.help-gnu-emacs@gnu.org>
2015-06-27 7:40 ` Stefan Nobis
2015-06-28 2:02 ` Emanuel Berg
2015-06-28 2:40 ` Emanuel Berg
[not found] <mailman.6209.1435880273.904.help-gnu-emacs@gnu.org>
2015-07-03 8:40 ` Pascal J. Bourguignon
2015-07-03 20:04 ` Emanuel Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAP_d_8XwUs_Rcw5N-GZ-_=7Ye-pG3D-YMDF2aLWJ-aXu+Kj4gA@mail.gmail.com' \
--to=yuri.v.khan@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.